[PATCH] EDAC/mce_amd: Do not load edac_mce_amd module on guests

From: Smita Koralahalli
Date: Mon Jun 28 2021 - 13:28:03 EST


Hypervisors may not expose SMCA feature to the guest.

Check for X86_FEATURE_HYPERVISOR on entry in mce_amd_init() and return
-ENODEV if set.

Suggested-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Smita Koralahalli <Smita.KoralahalliChannabasappa@xxxxxxx>
---
drivers/edac/mce_amd.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/edac/mce_amd.c b/drivers/edac/mce_amd.c
index 5dd905a3f30c..1a1629166aa3 100644
--- a/drivers/edac/mce_amd.c
+++ b/drivers/edac/mce_amd.c
@@ -1176,6 +1176,9 @@ static int __init mce_amd_init(void)
c->x86_vendor != X86_VENDOR_HYGON)
return -ENODEV;

+ if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
+ return -ENODEV;
+
if (boot_cpu_has(X86_FEATURE_SMCA)) {
xec_mask = 0x3f;
goto out;
--
2.17.1