Re: [PATCH -v2] x86/boot/compressed: Register dummy NMI handler in EFI boot loader, to avoid kdump crashes
From: Zeng Heng
Date: Tue Jan 10 2023 - 07:50:25 EST
On 2023/1/10 20:34, Ingo Molnar wrote:
* Borislav Petkov <bp@xxxxxxxxx> wrote:
mce_panic -> panic -> __crash_kexec()
Yes?
If so, then we should make sure we have *exited* #MC context before calling
panic() and not have to add hacks like this one of adding an empty NMI handler.
But I'm only speculating as it is hard to make sense of all this text.
IOW, does this help?
---
diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c
index 7832a69d170e..55437d8a4fad 100644
--- a/arch/x86/kernel/cpu/mce/core.c
+++ b/arch/x86/kernel/cpu/mce/core.c
@@ -287,6 +287,7 @@ static noinstr void mce_panic(const char *msg, struct mce *final, char *exp)
if (panic_timeout == 0)
panic_timeout = mca_cfg.panic_timeout;
panic(msg);
+ mce_wrmsrl(MSR_IA32_MCG_STATUS, 0);
I'm willing to test any patch provided, but the panic() is never return
and the
mce_wrmsrl() would be never called. Am I wrong?
B.R.,
Zeng Heng
So your suggestion was to exit MC context 'before' the panic() call - but
the patch calls it 'after' - was that intentional?
Thanks,
Ingo