Commit 2fb3573d authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller

net: remove rcu locking from fib_rules_event()

We hold RTNL at this point and dont use RCU variants of list traversals,
we dont need rcu_read_lock()/rcu_read_unlock()
Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 14bb4789
...@@ -108,7 +108,7 @@ fib_rules_register(struct fib_rules_ops *tmpl, struct net *net) ...@@ -108,7 +108,7 @@ fib_rules_register(struct fib_rules_ops *tmpl, struct net *net)
struct fib_rules_ops *ops; struct fib_rules_ops *ops;
int err; int err;
ops = kmemdup(tmpl, sizeof (*ops), GFP_KERNEL); ops = kmemdup(tmpl, sizeof(*ops), GFP_KERNEL);
if (ops == NULL) if (ops == NULL)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
...@@ -123,7 +123,6 @@ fib_rules_register(struct fib_rules_ops *tmpl, struct net *net) ...@@ -123,7 +123,6 @@ fib_rules_register(struct fib_rules_ops *tmpl, struct net *net)
return ops; return ops;
} }
EXPORT_SYMBOL_GPL(fib_rules_register); EXPORT_SYMBOL_GPL(fib_rules_register);
void fib_rules_cleanup_ops(struct fib_rules_ops *ops) void fib_rules_cleanup_ops(struct fib_rules_ops *ops)
...@@ -157,7 +156,6 @@ void fib_rules_unregister(struct fib_rules_ops *ops) ...@@ -157,7 +156,6 @@ void fib_rules_unregister(struct fib_rules_ops *ops)
call_rcu(&ops->rcu, fib_rules_put_rcu); call_rcu(&ops->rcu, fib_rules_put_rcu);
} }
EXPORT_SYMBOL_GPL(fib_rules_unregister); EXPORT_SYMBOL_GPL(fib_rules_unregister);
static int fib_rule_match(struct fib_rule *rule, struct fib_rules_ops *ops, static int fib_rule_match(struct fib_rule *rule, struct fib_rules_ops *ops,
...@@ -220,7 +218,6 @@ int fib_rules_lookup(struct fib_rules_ops *ops, struct flowi *fl, ...@@ -220,7 +218,6 @@ int fib_rules_lookup(struct fib_rules_ops *ops, struct flowi *fl,
return err; return err;
} }
EXPORT_SYMBOL_GPL(fib_rules_lookup); EXPORT_SYMBOL_GPL(fib_rules_lookup);
static int validate_rulemsg(struct fib_rule_hdr *frh, struct nlattr **tb, static int validate_rulemsg(struct fib_rule_hdr *frh, struct nlattr **tb,
...@@ -613,7 +610,7 @@ static int fib_nl_dumprule(struct sk_buff *skb, struct netlink_callback *cb) ...@@ -613,7 +610,7 @@ static int fib_nl_dumprule(struct sk_buff *skb, struct netlink_callback *cb)
break; break;
cb->args[1] = 0; cb->args[1] = 0;
skip: skip:
idx++; idx++;
} }
rcu_read_unlock(); rcu_read_unlock();
...@@ -685,7 +682,6 @@ static int fib_rules_event(struct notifier_block *this, unsigned long event, ...@@ -685,7 +682,6 @@ static int fib_rules_event(struct notifier_block *this, unsigned long event,
struct fib_rules_ops *ops; struct fib_rules_ops *ops;
ASSERT_RTNL(); ASSERT_RTNL();
rcu_read_lock();
switch (event) { switch (event) {
case NETDEV_REGISTER: case NETDEV_REGISTER:
...@@ -699,8 +695,6 @@ static int fib_rules_event(struct notifier_block *this, unsigned long event, ...@@ -699,8 +695,6 @@ static int fib_rules_event(struct notifier_block *this, unsigned long event,
break; break;
} }
rcu_read_unlock();
return NOTIFY_DONE; return NOTIFY_DONE;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment