[PATCH]locking:mutex Print warning if trylock in irq context

From: gaurav jindal
Date: Fri Dec 22 2017 - 15:45:32 EST


Since mutex_trylock must not be called from interrupt context, a robustness
can be added to this function by throwing a warning if it is called in
interrupt context.
It would help to make debugging easier in case of undesired calling of this
function.

Signed-off-by: gaurav jindal<gauravjindal1104@xxxxxxxxx>

---

diff --git a/kernel/locking/mutex.c b/kernel/locking/mutex.c
index 858a075..fe1cace 100644
--- a/kernel/locking/mutex.c
+++ b/kernel/locking/mutex.c
@@ -1176,7 +1176,10 @@ void __sched mutex_lock_io(struct mutex *lock)
*/
int __sched mutex_trylock(struct mutex *lock)
{
- bool locked = __mutex_trylock(lock);
+ bool locked;
+
+ WARN_ONCE(in_irq(), "%s wrongly called in irq context", __func__);
+ locked = __mutex_trylock(lock);

if (locked)
mutex_acquire(&lock->dep_map, 0, 1, _RET_IP_);