[tip: x86/bugs] x86/bugs: Remove GDS Force Kconfig option

From: tip-bot2 for Breno Leitao
Date: Tue Jul 30 2024 - 10:15:31 EST


The following commit has been merged into the x86/bugs branch of tip:

Commit-ID: 03267a534bb388acdd2ee685101084d144e8384c
Gitweb: https://git.kernel.org/tip/03267a534bb388acdd2ee685101084d144e8384c
Author: Breno Leitao <leitao@xxxxxxxxxx>
AuthorDate: Mon, 29 Jul 2024 09:40:58 -07:00
Committer: Borislav Petkov (AMD) <bp@xxxxxxxxx>
CommitterDate: Tue, 30 Jul 2024 14:53:15 +02:00

x86/bugs: Remove GDS Force Kconfig option

Remove the MITIGATION_GDS_FORCE Kconfig option, which aggressively disables
AVX as a mitigation for Gather Data Sampling (GDS) vulnerabilities. This
option is not widely used by distros.

While removing the Kconfig option, retain the runtime configuration ability
through the `gather_data_sampling=force` kernel parameter. This allows users
to still enable this aggressive mitigation if needed, without baking it into
the kernel configuration.

Simplify the kernel configuration while maintaining flexibility for runtime
mitigation choices.

Suggested-by: Borislav Petkov <bp@xxxxxxxxx>
Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx>
Signed-off-by: Borislav Petkov (AMD) <bp@xxxxxxxxx>
Reviewed-by: Daniel Sneddon <daniel.sneddon@xxxxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20240729164105.554296-11-leitao@xxxxxxxxxx
---
arch/x86/Kconfig | 19 -------------------
arch/x86/kernel/cpu/bugs.c | 4 ----
2 files changed, 23 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 2e72a07..ab5b210 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2610,25 +2610,6 @@ config MITIGATION_SLS
against straight line speculation. The kernel image might be slightly
larger.

-config MITIGATION_GDS_FORCE
- bool "Force GDS Mitigation"
- depends on CPU_SUP_INTEL
- default n
- help
- Gather Data Sampling (GDS) is a hardware vulnerability which allows
- unprivileged speculative access to data which was previously stored in
- vector registers.
-
- This option is equivalent to setting gather_data_sampling=force on the
- command line. The microcode mitigation is used if present, otherwise
- AVX is disabled as a mitigation. On affected systems that are missing
- the microcode any userspace code that unconditionally uses AVX will
- break with this option set.
-
- Setting this option on systems not vulnerable to GDS has no effect.
-
- If in doubt, say N.
-
config MITIGATION_RFDS
bool "RFDS Mitigation"
depends on CPU_SUP_INTEL
diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index a7f20ae..b2e752e 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -735,11 +735,7 @@ enum gds_mitigations {
GDS_MITIGATION_HYPERVISOR,
};

-#if IS_ENABLED(CONFIG_MITIGATION_GDS_FORCE)
-static enum gds_mitigations gds_mitigation __ro_after_init = GDS_MITIGATION_FORCE;
-#else
static enum gds_mitigations gds_mitigation __ro_after_init = GDS_MITIGATION_FULL;
-#endif

static const char * const gds_strings[] = {
[GDS_MITIGATION_OFF] = "Vulnerable",