diff options
author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2011-03-15 06:01:42 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-05-08 01:50:51 -0400 |
commit | 37b6b935e96e837ccc60812c03e9f92e7dce2e61 (patch) | |
tree | 763fdeb24228807ab2d033d0c535a380e8ffff97 /net | |
parent | e57859854aaac9b7ce0db3fe4959190a1a80b60a (diff) |
net,rcu: convert call_rcu(listeners_free_rcu) to kfree_rcu()
The rcu callback listeners_free_rcu() just calls a kfree(),
so we use kfree_rcu() instead of the call_rcu(listeners_free_rcu).
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/netlink/af_netlink.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index c8f35b5d2ee9..5fe4f3b04ed3 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c | |||
@@ -1566,12 +1566,6 @@ netlink_kernel_release(struct sock *sk) | |||
1566 | } | 1566 | } |
1567 | EXPORT_SYMBOL(netlink_kernel_release); | 1567 | EXPORT_SYMBOL(netlink_kernel_release); |
1568 | 1568 | ||
1569 | |||
1570 | static void listeners_free_rcu(struct rcu_head *head) | ||
1571 | { | ||
1572 | kfree(container_of(head, struct listeners, rcu)); | ||
1573 | } | ||
1574 | |||
1575 | int __netlink_change_ngroups(struct sock *sk, unsigned int groups) | 1569 | int __netlink_change_ngroups(struct sock *sk, unsigned int groups) |
1576 | { | 1570 | { |
1577 | struct listeners *new, *old; | 1571 | struct listeners *new, *old; |
@@ -1588,7 +1582,7 @@ int __netlink_change_ngroups(struct sock *sk, unsigned int groups) | |||
1588 | memcpy(new->masks, old->masks, NLGRPSZ(tbl->groups)); | 1582 | memcpy(new->masks, old->masks, NLGRPSZ(tbl->groups)); |
1589 | rcu_assign_pointer(tbl->listeners, new); | 1583 | rcu_assign_pointer(tbl->listeners, new); |
1590 | 1584 | ||
1591 | call_rcu(&old->rcu, listeners_free_rcu); | 1585 | kfree_rcu(old, rcu); |
1592 | } | 1586 | } |
1593 | tbl->groups = groups; | 1587 | tbl->groups = groups; |
1594 | 1588 | ||