EDAC/Intel: Do not load EDAC driver when running as a guest
authorLuck, Tony <tony.luck@intel.com>
Tue, 15 Jun 2021 17:44:19 +0000 (10:44 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Jul 2021 14:56:00 +0000 (16:56 +0200)
commitf5a90d44a1bc016225b2b80be809e4ed35175dc3
treebc6a6efe7a272edfe709621b601e71ce661f0392
parent950a7399056dad9d40c7252811aa5b3df60f8d9c
EDAC/Intel: Do not load EDAC driver when running as a guest

[ Upstream commit f0a029fff4a50eb01648810a77ba1873e829fdd4 ]

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
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/edac/i10nm_base.c
drivers/edac/pnd2_edac.c
drivers/edac/sb_edac.c
drivers/edac/skx_base.c