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

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
...@@ -2715,6 +2715,20 @@ config MITIGATION_SPECTRE_V1 ...@@ -2715,6 +2715,20 @@ config MITIGATION_SPECTRE_V1
execution that bypasses conditional branch instructions used for execution that bypasses conditional branch instructions used for
memory access bounds check. memory access bounds check.
See also <file:Documentation/admin-guide/hw-vuln/spectre.rst> 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 endif
config ARCH_HAS_ADD_PAGES config ARCH_HAS_ADD_PAGES
......
...@@ -608,7 +608,8 @@ enum srbds_mitigations { ...@@ -608,7 +608,8 @@ enum srbds_mitigations {
SRBDS_MITIGATION_HYPERVISOR, 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[] = { static const char * const srbds_strings[] = {
[SRBDS_MITIGATION_OFF] = "Vulnerable", [SRBDS_MITIGATION_OFF] = "Vulnerable",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment