Commit a0b02e3f authored by Breno Leitao's avatar Breno Leitao Committed by Borislav Petkov (AMD)
Browse files

x86/bugs: Add a separate config for SRBDS



Currently, the CONFIG_SPECULATION_MITIGATIONS is halfway populated,
where some mitigations have entries in Kconfig, and they could be
modified, while others mitigations do not have Kconfig entries, and
could not be controlled at build time.

Create an entry for the SRBDS CPU mitigation under
CONFIG_SPECULATION_MITIGATIONS. This allow users to enable or disable
it at compilation time.

Signed-off-by: default avatarBreno Leitao <leitao@debian.org>
Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Acked-by: default avatarJosh Poimboeuf <jpoimboe@kernel.org>
Link: https://lore.kernel.org/r/20240729164105.554296-8-leitao@debian.org
parent ca01c0d8
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -2715,6 +2715,20 @@ config MITIGATION_SPECTRE_V1
	  execution that bypasses conditional branch instructions used for
	  memory access bounds check.
	  See also <file:Documentation/admin-guide/hw-vuln/spectre.rst>

config MITIGATION_SRBDS
	bool "Mitigate Special Register Buffer Data Sampling (SRBDS) hardware bug"
	depends on CPU_SUP_INTEL
	default y
	help
	  Enable mitigation for Special Register Buffer Data Sampling (SRBDS).
	  SRBDS is a hardware vulnerability that allows Microarchitectural Data
	  Sampling (MDS) techniques to infer values returned from special
	  register accesses. An unprivileged user can extract values returned
	  from RDRAND and RDSEED executed on another core or sibling thread
	  using MDS techniques.
	  See also
	  <file:Documentation/admin-guide/hw-vuln/special-register-buffer-data-sampling.rst>
endif

config ARCH_HAS_ADD_PAGES
+2 −1
Original line number Diff line number Diff line
@@ -608,7 +608,8 @@ enum srbds_mitigations {
	SRBDS_MITIGATION_HYPERVISOR,
};

static enum srbds_mitigations srbds_mitigation __ro_after_init = SRBDS_MITIGATION_FULL;
static enum srbds_mitigations srbds_mitigation __ro_after_init =
	IS_ENABLED(CONFIG_MITIGATION_SRBDS) ? SRBDS_MITIGATION_FULL : SRBDS_MITIGATION_OFF;

static const char * const srbds_strings[] = {
	[SRBDS_MITIGATION_OFF]		= "Vulnerable",