Johannes Berg [off-list ref] writes:
On Wed, 2009-06-17 at 16:24 -0700, Eric W. Biederman wrote:
quoted
quoted
So it looks like I can also use rcu_read_lock(), but there's no
for_each_net_rcu(), should there be?
I'm not using rcu safe list manipulation. What makes it look like
rcu_read_lock() is safe?
Indeed. I was looking at rcu_barrier() only. How about the patch below?
johannes
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.
I still haven't tracked down how I am occasionally getting time wait sockets
with an invalid network namespace.
Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html