Using nested locking for spin_lock_bh

From: Sven Eckelmann
Date: Wed Mar 28 2012 - 12:44:46 EST


Hi,

I started to run some experimental batman-adv code inside some virtual
machines with different debugging functions enabled. One of them was lockdep.
There we noticed a false positive for a lock class that is actually used in
two different data structures. Therefore, lockdep noticed that there could be
a deadlock for this class in a function that locks the two different data
structures.

To resolve this problem, I wanted to define two different subclasses and
replace the spin_lock_bh with its nested version. The only problem now is the
absence of spin_lock_bh_nested. I could only find spin_lock_bh and
spin_lock_irqsave_nested.

Is there another way how this should be done or is there a general problem why
there is no nested support for this incarnation of spin_lock?

Kind regards,
Sven

Attachment: signature.asc
Description: This is a digitally signed message part.