Skip to contentSkip to conversation

: Fix IPv4/DECnet routing rule dumping

NET Applied Patrick McHardy 2 participants 2 messages Jul 8, 2006

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

[NET]: Fix IPv4/DECnet routing rule dumping

When more rules are present than fit in a single skb, the remaining rules are incorrectly skipped.

---
commit 68fb2d31c9c960fea945f8ed81ba2200cde104d4
tree 603c24a722ebe9834b7ae337ba9f6d69cbb6258f
parent 120bda20c6f64b32e8bfbdd7b34feafaa5f5332e
author Patrick McHardy <[email protected]> Fri, 07 Jul 2006 22:32:11 +0200 committer Patrick McHardy <[email protected]> Fri, 07 Jul 2006 22:32:11 +0200

 net/decnet/dn_rules.c |    3 ++-
 net/ipv4/fib_rules.c  |    4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)
net/decnet/dn_rules.c +2 -1
index 06e785f..22f321d 100644
@@ -399,9 +399,10 @@ int dn_fib_dump_rules(struct sk_buff *sk
 	rcu_read_lock();
 	hlist_for_each_entry(r, node, &dn_fib_rules, r_hlist) {
 		if (idx < s_idx)
-			continue;
+			goto next;
 		if (dn_fib_fill_rule(skb, r, cb, NLM_F_MULTI) < 0)
 			break;
+next:
 		idx++;
 	}
 	rcu_read_unlock();
net/ipv4/fib_rules.c +2 -2
index 6c642d1..773b12b 100644
@@ -457,13 +457,13 @@ int inet_dump_rules(struct sk_buff *skb,
 
 	rcu_read_lock();
 	hlist_for_each_entry(r, node, &fib_rules, hlist) {
-
 		if (idx < s_idx)
-			continue;
+			goto next;
 		if (inet_fill_rule(skb, r, NETLINK_CB(cb->skb).pid,
 				   cb->nlh->nlmsg_seq,
 				   RTM_NEWRULE, NLM_F_MULTI) < 0)
 			break;
+next:
 		idx++;
 	}
 	rcu_read_unlock();