diff options
author | Luck, Tony <tony.luck@intel.com> | 2021-06-15 20:44:19 +0300 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2021-06-18 04:23:14 +0300 |
commit | f0a029fff4a50eb01648810a77ba1873e829fdd4 (patch) | |
tree | 4dcfcf68d9881200894ea621a81b611c9e7e354e /drivers/edac/sb_edac.c | |
parent | ad774bd5a8c23a319773ac3668382f24d62a39a8 (diff) | |
download | linux-f0a029fff4a50eb01648810a77ba1873e829fdd4.tar.xz |
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/sb_edac.c')
-rw-r--r-- | drivers/edac/sb_edac.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c index 93daa4297f2e..4c626fcd4dcb 100644 --- a/drivers/edac/sb_edac.c +++ b/drivers/edac/sb_edac.c @@ -3510,6 +3510,9 @@ static int __init sbridge_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(sbridge_cpuids); if (!id) return -ENODEV; |