Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO

Avoid unnecessary crashes by claiming only NMIs that are due to
ERROR signalling or generated by the hpwdt hardware device.

The code does this, but only for iLO5.

The intent was to preserve legacy, Gen9 and earlier, semantics of
using hpwdt for error containtment as hardware/firmware would signal
fatal IO errors as an NMI with the expectation of hpwdt crashing
the system. Howerver, these IO errors should be received by hpwdt
as an NMI_IO_CHECK. So the test is overly permissive and should
not be limited to only ilo5.

We need to enable this protection for future iLOs not matching the
current PCI IDs.

Fixes: 62290a5c194b ("watchdog: hpwdt: Claim NMIs generated by iLO5")
Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20231213215340.495734-2-jerry.hoemann@hpe.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>

authored by

Jerry Hoemann and committed by
Wim Van Sebroeck
dced0b3e da241187

+1 -1
+1 -1
drivers/watchdog/hpwdt.c
··· 178 178 "3. OA Forward Progress Log\n" 179 179 "4. iLO Event Log"; 180 180 181 - if (ilo5 && ulReason == NMI_UNKNOWN && !mynmi) 181 + if (ulReason == NMI_UNKNOWN && !mynmi) 182 182 return NMI_DONE; 183 183 184 184 if (ilo5 && !pretimeout && !mynmi)