summaryrefslogtreecommitdiffstats
path: root/drivers/edac/pnd2_edac.c
diff options
context:
space:
mode:
authorLuck, Tony <tony.luck@intel.com>2021-06-15 10:44:19 -0700
committerTony Luck <tony.luck@intel.com>2021-06-17 18:23:14 -0700
commitf0a029fff4a50eb01648810a77ba1873e829fdd4 (patch)
tree4dcfcf68d9881200894ea621a81b611c9e7e354e /drivers/edac/pnd2_edac.c
parentad774bd5a8c23a319773ac3668382f24d62a39a8 (diff)
downloadlinux-stable-f0a029fff4a50eb01648810a77ba1873e829fdd4.tar.gz
linux-stable-f0a029fff4a50eb01648810a77ba1873e829fdd4.tar.bz2
linux-stable-f0a029fff4a50eb01648810a77ba1873e829fdd4.zip
EDAC/Intel: Do not load EDAC driver when running as a guest
There's little to no point in loading an EDAC driver running in a guest: 1) The CPU model reported by CPUID may not represent actual h/w 2) The hypervisor likely does not pass in access to memory controller devices 3) Hypervisors generally do not pass corrected error details to guests Add a check in each of the Intel EDAC drivers for X86_FEATURE_HYPERVISOR and simply return -ENODEV in the init routine. Acked-by: Borislav Petkov <bp@suse.de> Signed-off-by: Tony Luck <tony.luck@intel.com> Link: https://lore.kernel.org/r/20210615174419.GA1087688@agluck-desk2.amr.corp.intel.com
Diffstat (limited to 'drivers/edac/pnd2_edac.c')
-rw-r--r--drivers/edac/pnd2_edac.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/edac/pnd2_edac.c b/drivers/edac/pnd2_edac.c
index 928f63a374c7..c94ca1f790c4 100644
--- a/drivers/edac/pnd2_edac.c
+++ b/drivers/edac/pnd2_edac.c
@@ -1554,6 +1554,9 @@ static int __init pnd2_init(void)
if (owner && strncmp(owner, EDAC_MOD_STR, sizeof(EDAC_MOD_STR)))
return -EBUSY;
+ if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
+ return -ENODEV;
+
id = x86_match_cpu(pnd2_cpuids);
if (!id)
return -ENODEV;