OSDN Git Service

powerpc/watchdog: Do not trigger SMP crash from touch_nmi_watchdog
authorNicholas Piggin <npiggin@gmail.com>
Fri, 29 Sep 2017 03:29:39 +0000 (13:29 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Dec 2017 13:26:28 +0000 (14:26 +0100)
commitfa21a13d76a7eed4b1df1a5223752051dbfde948
treede958e4ce81edc11e6b1ea3dba240ba29726f669
parent97f41b41c432e5a80c91445d92c2f4b729984d36
powerpc/watchdog: Do not trigger SMP crash from touch_nmi_watchdog

[ Upstream commit 80e4d70b06863e0104e5a0dc78aa3710297fbd4b ]

In xmon, touch_nmi_watchdog() is not expected to be checking that
other CPUs have not touched the watchdog, so the code will just call
touch_nmi_watchdog() once before re-enabling hard interrupts.

Just update our CPU's state, and ignore apparently stuck SMP threads.

Arguably touch_nmi_watchdog should check for SMP lockups, and callers
should be fixed, but that's not trivial for the input code of xmon.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/kernel/watchdog.c