Patchwork netlabel: correctly list all the static label mappings

login
register
mail settings
Submitter Paul Moore
Date March 6, 2013, 9:45 p.m.
Message ID <20130306214524.4965.59796.stgit@localhost>
Download mbox | patch
Permalink /patch/225654/
State Accepted
Delegated to: David Miller
Headers show

Comments

Paul Moore - March 6, 2013, 9:45 p.m.
When we have a large number of static label mappings that spill across
the netlink message boundary we fail to properly save our state in the
netlink_callback struct which causes us to repeat the same listings.
This patch fixes this problem by saving the state correctly between
calls to the NetLabel static label netlink "dumpit" routines.

Signed-off-by: Paul Moore <pmoore@redhat.com>
Cc: stable@vger.kernel.org
---
 net/netlabel/netlabel_unlabeled.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - March 7, 2013, 9:21 p.m.
From: Paul Moore <pmoore@redhat.com>
Date: Wed, 06 Mar 2013 16:45:24 -0500

> When we have a large number of static label mappings that spill across
> the netlink message boundary we fail to properly save our state in the
> netlink_callback struct which causes us to repeat the same listings.
> This patch fixes this problem by saving the state correctly between
> calls to the NetLabel static label netlink "dumpit" routines.
> 
> Signed-off-by: Paul Moore <pmoore@redhat.com>

Applied and queued up for -stable, thanks.

> Cc: stable@vger.kernel.org

Please just ask me to queue up networking fixes for stable, rather
than CC:'ing it to stable.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Paul Moore - March 7, 2013, 9:26 p.m.
On Thursday, March 07, 2013 04:21:19 PM David Miller wrote:
> From: Paul Moore <pmoore@redhat.com>
> Date: Wed, 06 Mar 2013 16:45:24 -0500
> 
> > When we have a large number of static label mappings that spill across
> > the netlink message boundary we fail to properly save our state in the
> > netlink_callback struct which causes us to repeat the same listings.
> > This patch fixes this problem by saving the state correctly between
> > calls to the NetLabel static label netlink "dumpit" routines.
> > 
> > Signed-off-by: Paul Moore <pmoore@redhat.com>
> 
> Applied and queued up for -stable, thanks.
> 
> > Cc: stable@vger.kernel.org
> 
> Please just ask me to queue up networking fixes for stable, rather
> than CC:'ing it to stable.

No problem, I'll do that in the future.

Thanks.

Patch

diff --git a/net/netlabel/netlabel_unlabeled.c b/net/netlabel/netlabel_unlabeled.c
index 847d495..85742b7 100644
--- a/net/netlabel/netlabel_unlabeled.c
+++ b/net/netlabel/netlabel_unlabeled.c
@@ -1250,10 +1250,10 @@  static int netlbl_unlabel_staticlist(struct sk_buff *skb,
 
 unlabel_staticlist_return:
 	rcu_read_unlock();
-	cb->args[0] = skip_bkt;
-	cb->args[1] = skip_chain;
-	cb->args[2] = skip_addr4;
-	cb->args[3] = skip_addr6;
+	cb->args[0] = iter_bkt;
+	cb->args[1] = iter_chain;
+	cb->args[2] = iter_addr4;
+	cb->args[3] = iter_addr6;
 	return skb->len;
 }
 
@@ -1320,8 +1320,8 @@  static int netlbl_unlabel_staticlistdef(struct sk_buff *skb,
 
 unlabel_staticlistdef_return:
 	rcu_read_unlock();
-	cb->args[0] = skip_addr4;
-	cb->args[1] = skip_addr6;
+	cb->args[0] = iter_addr4;
+	cb->args[1] = iter_addr6;
 	return skb->len;
 }