diff options
| author | Levin Calado <levincalado@gmail.com> | 2015-10-14 23:08:31 +0800 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2016-08-26 20:05:07 +0200 |
| commit | b1f470ef8f6930d423c1be4920477ca2b0d5c908 (patch) | |
| tree | 6d545f06895b97d56c16c4127625953a5f2c1313 | |
| parent | e94414c4fc41bbd9d7beeb427fbaea700587e360 (diff) | |
Revert "fib_rules: fix fib rule dumps across multiple skbs"
This reverts commit d0550a3f2d313a5310ace03299d45ef63edfb750.
Signed-off-by: Stefan Guendhoer <stefan@guendhoer.com>
| -rw-r--r-- | net/core/fib_rules.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c index 1b10e3639..da78f5c6d 100644 --- a/net/core/fib_rules.c +++ b/net/core/fib_rules.c @@ -645,17 +645,15 @@ static int dump_rules(struct sk_buff *skb, struct netlink_callback *cb, { int idx = 0; struct fib_rule *rule; - int err = 0; rcu_read_lock(); list_for_each_entry_rcu(rule, &ops->rules_list, list) { if (idx < cb->args[1]) goto skip; - err = fib_nl_fill_rule(skb, rule, NETLINK_CB(cb->skb).portid, - cb->nlh->nlmsg_seq, RTM_NEWRULE, - NLM_F_MULTI, ops); - if (err) + if (fib_nl_fill_rule(skb, rule, NETLINK_CB(cb->skb).portid, + cb->nlh->nlmsg_seq, RTM_NEWRULE, + NLM_F_MULTI, ops) < 0) break; skip: idx++; @@ -664,7 +662,7 @@ skip: cb->args[1] = idx; rules_ops_put(ops); - return err; + return skb->len; } static int fib_nl_dumprule(struct sk_buff *skb, struct netlink_callback *cb) @@ -680,9 +678,7 @@ static int fib_nl_dumprule(struct sk_buff *skb, struct netlink_callback *cb) if (ops == NULL) return -EAFNOSUPPORT; - dump_rules(skb, cb, ops); - - return skb->len; + return dump_rules(skb, cb, ops); } rcu_read_lock(); |
