[PATCH tip: x86/bugs v2] x86/mce: make sure cmci banks are cleared during shutdown on intel

From: JP Kobryn
Date: Fri Jun 27 2025 - 13:49:53 EST


CMCI banks are not cleared during shutdown on intel CPU's. As a side effect
when a kexec is performed, CPU's coming back online are unable to
rediscover/claim these occupied banks which breaks MCE reporting.

Clear the CPU ownership during shutdown via cmci_clear() so the banks can
be reclaimed and MCE reporting will become functional once more.

Signed-off-by: JP Kobryn <inwardvessel@xxxxxxxxx>
Reported-by: Aijay Adams <aijay@xxxxxxxx>
Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx>
Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@xxxxxxxxx>
---
arch/x86/kernel/cpu/mce/intel.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/x86/kernel/cpu/mce/intel.c b/arch/x86/kernel/cpu/mce/intel.c
index efcf21e9552e..9b149b9c4109 100644
--- a/arch/x86/kernel/cpu/mce/intel.c
+++ b/arch/x86/kernel/cpu/mce/intel.c
@@ -478,6 +478,7 @@ void mce_intel_feature_init(struct cpuinfo_x86 *c)
void mce_intel_feature_clear(struct cpuinfo_x86 *c)
{
intel_clear_lmce();
+ cmci_clear();
}

bool intel_filter_mce(struct mce *m)
--
2.47.1