net: make namespace iteration possible under RCU
All we need to take care of is using proper RCU list add/del primitives and inserting a synchronize_rcu() at one place to make sure the exit notifiers are run after everybody has stopped iterating the list. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
6c04bb18dd
commit
11a28d373e
@@ -208,6 +208,9 @@ static inline struct net *read_pnet(struct net * const *pnet)
|
||||
#define for_each_net(VAR) \
|
||||
list_for_each_entry(VAR, &net_namespace_list, list)
|
||||
|
||||
#define for_each_net_rcu(VAR) \
|
||||
list_for_each_entry_rcu(VAR, &net_namespace_list, list)
|
||||
|
||||
#ifdef CONFIG_NET_NS
|
||||
#define __net_init
|
||||
#define __net_exit
|
||||
|
Reference in New Issue
Block a user