android_kernel_samsung_msm8976/kernel/locking
Tetsuo Handa 1117984b6e locking/lockdep: Use for_each_process_thread() for debug_show_all_locks()
debug_show_all_locks() tries to grab the tasklist_lock for two seconds, but
calling while_each_thread() without tasklist_lock held is not safe.

See the following commit for more information:

  4449a51a7c281602 ("vm_is_stack: use for_each_thread() rather then buggy while_each_thread()")

Change debug_show_all_locks() from "do_each_thread()/while_each_thread()
with possibility of missing tasklist_lock" to "for_each_process_thread()
with RCU", and add a call to touch_all_softlockup_watchdogs() like
show_state_filter() does.

Change-Id: I502b9ea50d180aedad7f379ffc0b987d0223d739
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1523011279-8206-1-git-send-email-penguin-kernel@I-love.SAKURA.ne.jp
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-07-27 22:09:22 +02:00
..
lglock.c locking: Move the lglocks code to kernel/locking/ 2015-05-19 19:15:52 -07:00
lockdep.c locking/lockdep: Use for_each_process_thread() for debug_show_all_locks() 2019-07-27 22:09:22 +02:00
lockdep_internals.h
lockdep_proc.c
lockdep_states.h
Makefile Import latest Samsung release 2017-04-18 03:43:52 +02:00
mcs_spinlock.c kernel: Replace ASSIGN_ONCE w/ WRITE_ONCE in post-import patches 2019-07-27 22:08:51 +02:00
mcs_spinlock.h kernel: Replace ASSIGN_ONCE w/ WRITE_ONCE in post-import patches 2019-07-27 22:08:51 +02:00
mutex-debug.c mutexes: Give more informative mutex warning in the !lock->owner case 2015-05-19 19:15:53 -07:00
mutex-debug.h
mutex.c Import latest Samsung release 2017-04-18 03:43:52 +02:00
mutex.h
percpu-rwsem.c locking: Move the percpu-rwsem code to kernel/locking/ 2015-05-19 19:15:53 -07:00
qspinlock.c kernel: Replace ASSIGN_ONCE w/ WRITE_ONCE in post-import patches 2019-07-27 22:08:51 +02:00
rtmutex-debug.c rtmutex: Turn the plist into an rb-tree 2015-05-19 19:16:01 -07:00
rtmutex-debug.h locking: Move the rtmutex code to kernel/locking/ 2015-05-19 19:15:50 -07:00
rtmutex-tester.c locking: Move the rtmutex code to kernel/locking/ 2015-05-19 19:15:50 -07:00
rtmutex.c locking/rtmutex: Avoid a NULL pointer dereference on deadlock 2019-07-27 22:07:54 +02:00
rtmutex.h locking: Move the rtmutex code to kernel/locking/ 2015-05-19 19:15:50 -07:00
rtmutex_common.h sched/deadline: Add SCHED_DEADLINE inheritance logic 2015-05-19 19:16:01 -07:00
rwsem-spinlock.c locking: Move the rwsem code to kernel/locking/ 2015-05-19 19:15:51 -07:00
rwsem-xadd.c locking: Move the rwsem code to kernel/locking/ 2015-05-19 19:15:51 -07:00
rwsem.c locking: Move the rwsem code to kernel/locking/ 2015-05-19 19:15:51 -07:00
semaphore.c locking: Move the semaphore core to kernel/locking/ 2015-05-19 19:15:50 -07:00
spinlock.c locking: Move the spinlock code to kernel/locking/ 2015-05-19 19:15:49 -07:00
spinlock_debug.c locking: Move the spinlock code to kernel/locking/ 2015-05-19 19:15:49 -07:00