On Mon, 2008-08-04 at 11:06 -0700, Jeremy Fitzhardinge wrote:
Yes (there it no requirement that the outer lock is a spinlock_t, just
that it has a ->dep_map member - so: mutex, rwsem and spinlock will do).
Yes
Yes
Only if you then release the inner locks in the reverse order you took
them - the nested release code (releasing a lock that is not on the top
of the stack) basically pops and pushes all the locks, the push will
fail if the outer lock is released.
It doesn't validate this part - as with most lockdep annotations you can
annotate away real deadlocks.
--