netlink: use call_rcu for netlink_change_ngroups
authorJohannes Berg <johannes@sipsolutions.net>
Fri, 10 Jul 2009 09:51:32 +0000 (09:51 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 12 Jul 2009 21:03:24 +0000 (14:03 -0700)
For the network namespace work in generic netlink I need
to be able to call this function under rcu_read_lock(),
otherwise the locking becomes a nightmare and more locks
would be needed. Instead, just embed a struct rcu_head
(actually a struct listeners_rcu_head that also carries
the pointer to the memory block) into the listeners
memory so we can use call_rcu() instead of synchronising
and then freeing. No rcu_barrier() is needed since this
code cannot be modular.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: David S. Miller <davem@davemloft.net>

No differences found