Johannes Berg <johannes@xxxxxxxxxxxxxxxx> writes: > On Wed, 2009-06-17 at 16:54 -0700, Eric W. Biederman wrote: > >> > Subject: net: make namespace iteration possible under RCU >> > >> > We already call rcu_barrier(), so all we need to take >> > care of is using proper RCU list add/del primitives. >> >> This of course gives you a network namespace that can be found by for_each_net rcu >> while the per net exit functions are running. I think that opens up to races >> that I don't want to think about. > > Indeed. Can we move the rcu_barrier() up? Or we could insert a > synchronize_rcu() (which is sufficient for rcu_read_lock) before the > exit functions are run? I don't think we can move the barrier. But adding an extra synchronize_rcu should be fine. We are talking about the slowest of the slow paths here. It is so slow it even gets it's own kernel thread. Eric -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html