Linux: Assert mutex is held in mutex_exit()
A spurious mutex_exit() in a development branch caused weird issues until I identified it. An assertion prior to mutex_exit() would have caught it. Rather than adding assertions before invocations of mutex_exit() in the code, let us simply add an assertion to mutex_exit(). It is cheap and will likely improve developer productivity. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Brian Atkinson <batkinson@lanl.gov> Signed-off-by: Richard Yao <richard.yao@klarasystems.com> Sponsored-By: Wasabi Technology, Inc. Closes #14541
This commit is contained in:
parent
13ff72ba0a
commit
2f76797ad9
|
@ -171,6 +171,7 @@ spl_mutex_lockdep_on_maybe(kmutex_t *mp) \
|
|||
*/
|
||||
#define mutex_exit(mp) \
|
||||
{ \
|
||||
ASSERT3P(mutex_owner(mp), ==, current); \
|
||||
spl_mutex_clear_owner(mp); \
|
||||
spin_lock(&(mp)->m_lock); \
|
||||
spl_mutex_lockdep_off_maybe(mp); \
|
||||
|
|
Loading…
Reference in New Issue