[NET]: Fix fib_rules dump race
authorPatrick McHardy <kaber@trash.net>
Thu, 22 Mar 2007 19:24:38 +0000 (12:24 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 22 Mar 2007 19:24:38 +0000 (12:24 -0700)
fib_rules_dump needs to use list_for_each_entry_rcu to protect against
concurrent changes to the rules list.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/fib_rules.c

index 215f1bff048feeb8991ebd3a49bc406d15053f77..3aea4e87d3d7c679abf051c4af2e6adbabbcac5b 100644 (file)
@@ -374,7 +374,7 @@ int fib_rules_dump(struct sk_buff *skb, struct netlink_callback *cb, int family)
                return -EAFNOSUPPORT;
 
        rcu_read_lock();
-       list_for_each_entry(rule, ops->rules_list, list) {
+       list_for_each_entry_rcu(rule, ops->rules_list, list) {
                if (idx < cb->args[0])
                        goto skip;