diff options
author | Peter Zijlstra <peterz@infradead.org> | 2018-07-13 12:42:08 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2018-07-15 23:51:19 +0200 |
commit | be45bf5395e0886a93fc816bbe41a008ec2e42e2 (patch) | |
tree | ad459f7d60364e75743ef18066dffc6a31088f08 /security | |
parent | fdf2ceb7f58c28639a36f8895006828582a1f5b2 (diff) | |
download | talos-obmc-linux-be45bf5395e0886a93fc816bbe41a008ec2e42e2.tar.gz talos-obmc-linux-be45bf5395e0886a93fc816bbe41a008ec2e42e2.zip |
watchdog/softlockup: Fix cpu_stop_queue_work() double-queue bug
When scheduling is delayed for longer than the softlockup interrupt
period it is possible to double-queue the cpu_stop_work, causing list
corruption.
Cure this by adding a completion to track the cpu_stop_work's
progress.
Reported-by: kernel test robot <lkp@intel.com>
Tested-by: Rong Chen <rong.a.chen@intel.com>
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>
Fixes: 9cf57731b63e ("watchdog/softlockup: Replace "watchdog/%u" threads with cpu_stop_work")
Link: http://lkml.kernel.org/r/20180713104208.GW2494@hirez.programming.kicks-ass.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions