[tip: ras/urgent] x86/mce: Make sure CMCI banks are cleared during shutdown on Intel

From: tip-bot2 for JP Kobryn
Date: Sat Jun 28 2025 - 07:33:50 EST


The following commit has been merged into the ras/urgent branch of tip:

Commit-ID: 30ad231a5029bfa16e46ce868497b1a5cdd3c24d
Gitweb: https://git.kernel.org/tip/30ad231a5029bfa16e46ce868497b1a5cdd3c24d
Author: JP Kobryn <inwardvessel@xxxxxxxxx>
AuthorDate: Fri, 27 Jun 2025 10:49:35 -07:00
Committer: Borislav Petkov (AMD) <bp@xxxxxxxxx>
CommitterDate: Sat, 28 Jun 2025 12:45:48 +02:00

x86/mce: Make sure CMCI banks are cleared during shutdown on Intel

CMCI banks are not cleared during shutdown on Intel CPUs. As a side effect,
when a kexec is performed, CPUs 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.

[ bp: Massage commit message. ]

Reported-by: Aijay Adams <aijay@xxxxxxxx>
Signed-off-by: JP Kobryn <inwardvessel@xxxxxxxxx>
Signed-off-by: Borislav Petkov (AMD) <bp@xxxxxxxxx>
Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx>
Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@xxxxxxxxx>
Cc: <stable@xxxxxxxxxx>
Link: https://lore.kernel.org/20250627174935.95194-1-inwardvessel@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 efcf21e..9b149b9 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)