lib/fault-inject.c: use correct check for interrupts
authorDmitry Vyukov <dvyukov@google.com>
Mon, 8 May 2017 22:56:51 +0000 (15:56 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 9 May 2017 00:15:12 +0000 (17:15 -0700)
in_interrupt() also returns true when bh is disabled in task context.
That's not what fail_task() wants to check.  Use the new in_task()
predicate that does the right thing.

Link: http://lkml.kernel.org/r/20170321091805.140676-1-dvyukov@google.com
Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
Reviewed-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
lib/fault-inject.c

index 6a823a53e357bc83e84476d93cc2c155f0adfee5..4ff157159a0d4d9d746fad5d228e878bdecd5be2 100644 (file)
@@ -56,7 +56,7 @@ static void fail_dump(struct fault_attr *attr)
 
 static bool fail_task(struct fault_attr *attr, struct task_struct *task)
 {
-       return !in_interrupt() && task->make_it_fail;
+       return in_task() && task->make_it_fail;
 }
 
 #define MAX_STACK_TRACE_DEPTH 32