[PATCH 1/2] watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO

From: Jerry Hoemann
Date: Wed Nov 08 2023 - 21:44:37 EST


Do not claim NMIs that are not watchdog or ERRORs as it could
cause unnecessary crashes.

The code does this, but only for iLO5.

The intent was to preserve legacy (Gen8/9 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.

But 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.

This enables this protection for future iLO not matching current PCI IDs.

Fixes: 62290a5c194b ("watchdog: hpwdt: Claim NMIs generated by iLO5")
Signed-off-by: Jerry Hoemann <jerry.hoemann@xxxxxxx>
---
drivers/watchdog/hpwdt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c
index f79f932bca14..79ed1626d8ea 100644
--- a/drivers/watchdog/hpwdt.c
+++ b/drivers/watchdog/hpwdt.c
@@ -178,7 +178,7 @@ static int hpwdt_pretimeout(unsigned int ulReason, struct pt_regs *regs)
"3. OA Forward Progress Log\n"
"4. iLO Event Log";

- if (ilo5 && ulReason == NMI_UNKNOWN && !mynmi)
+ if (ulReason == NMI_UNKNOWN && !mynmi)
return NMI_DONE;

if (ilo5 && !pretimeout && !mynmi)
--
2.41.0