watchdog/hpwdt: Disable NMI in Crash Kernel
authorJerry Hoemann <jerry.hoemann@hpe.com>
Mon, 23 Nov 2020 02:08:39 +0000 (19:08 -0700)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Sun, 13 Dec 2020 15:17:42 +0000 (16:17 +0100)
commitacc195bd2cc48445ea35d00036d8c0afcc4fcc9c
treee78f29654ff3948002a3bd5ad2d4946838f97b0e
parent42e967f3c6cb3828f07a3822d7249bccb55221a4
watchdog/hpwdt: Disable NMI in Crash Kernel

NMIs received during the crash path are problematic as hpwdt_pretimeout
handling of the NMI would cause a reentry into kdump.

The situation is complicated in that I/O errors can be signaled as NMI
circumventing hpwdt_pretimeout's attempt to not claim NMI not associated
with either the WDT or the iLO NMI switch.  These NMI can additionally
cause a secondary NMI which cause the system to hang.

By disabling pretimeout and hpwdtimeout in crash path we both reduce
the risk of receiving an NMI and simuletaneously leave the WDT running
(if it was already in use) to allow the WDT to break the system out of
hangs by the WDT reset.

Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/1606097320-56762-2-git-send-email-jerry.hoemann@hpe.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/hpwdt.c