locking/mutex: Test for initialized mutex
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Wed, 3 Jul 2019 09:21:26 +0000 (11:21 +0200)
committerIngo Molnar <mingo@kernel.org>
Thu, 25 Jul 2019 13:39:27 +0000 (15:39 +0200)
commit6c11c6e3d5e9e5caf8686cd6a5e4552cfc3ea326
tree3c46421fccf883ceb83abb0b2f42a1a0c662a26b
parent30a35f79faadfeb1b89a7fdb3875f14063519041
locking/mutex: Test for initialized mutex

An uninitialized/ zeroed mutex will go unnoticed because there is no
check for it. There is a magic check in the unlock's slowpath path which
might go unnoticed if the unlock happens in the fastpath.

Add a ->magic check early in the mutex_lock() and mutex_trylock() path.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Will Deacon <will@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20190703092125.lsdf4gpsh2plhavb@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/locking/mutex.c