Re: Locking question

Mark Keaton <mkeaton%bbn.com@localhost> wrote:
> So, I am wondering if anyone knows if this is a bug in the kernel (i.e.,
> "softnet_lock" should have been locked before calling ip6_output())?
> Or, am I not understanding the real locking strategy used by these
> functions?
It should be locked by softnet_lock. Unfortunately, entry/exit paths into
the stack (and different parts of the stack, like in your example) are not
very well contained in this respect; softnet_lock is a big lock covering
paths across multiple layers, so it is easy to end up with a problem like
this. The ultimate goal is to dismantle softnet_lock.
--
Mindaugas