From: "tip-bot2 for Breno Leitao" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Breno Leitao <leitao@debian.org>,
"Borislav Petkov (AMD)" <bp@alien8.de>,
Josh Poimboeuf <jpoimboe@kernel.org>,
x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [tip: x86/bugs] x86/bugs: Add a separate config for Spectre V2
Date: Tue, 30 Jul 2024 14:15:12 -0000 [thread overview]
Message-ID: <172234891264.2215.9604724524846665240.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20240729164105.554296-9-leitao@debian.org>
The following commit has been merged into the x86/bugs branch of tip:
Commit-ID: 72c70f480a70695523f984651d5da766b862c712
Gitweb: https://git.kernel.org/tip/72c70f480a70695523f984651d5da766b862c712
Author: Breno Leitao <leitao@debian.org>
AuthorDate: Mon, 29 Jul 2024 09:40:56 -07:00
Committer: Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Tue, 30 Jul 2024 14:51:11 +02:00
x86/bugs: Add a separate config for Spectre V2
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 Spectre V2 CPU mitigation under
CONFIG_SPECULATION_MITIGATIONS. This allow users to enable or disable
it at compilation time.
Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://lore.kernel.org/r/20240729164105.554296-9-leitao@debian.org
---
arch/x86/Kconfig | 12 ++++++++++++
arch/x86/kernel/cpu/bugs.c | 9 +++++----
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 22d3245..33e125a 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2716,6 +2716,18 @@ config MITIGATION_SPECTRE_V1
memory access bounds check.
See also <file:Documentation/admin-guide/hw-vuln/spectre.rst>
+config MITIGATION_SPECTRE_V2
+ bool "Mitigate SPECTRE V2 hardware bug"
+ default y
+ help
+ Enable mitigation for Spectre V2 (Branch Target Injection). Spectre
+ V2 is a class of side channel attacks that takes advantage of
+ indirect branch predictors inside the processor. In Spectre variant 2
+ attacks, the attacker can steer speculative indirect branches in the
+ victim to gadget code by poisoning the branch target buffer of a CPU
+ used for predicting indirect branch addresses.
+ 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
diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index 8292a96..45cbc6f 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -1452,17 +1452,18 @@ static void __init spec_v2_print_cond(const char *reason, bool secure)
static enum spectre_v2_mitigation_cmd __init spectre_v2_parse_cmdline(void)
{
- enum spectre_v2_mitigation_cmd cmd = SPECTRE_V2_CMD_AUTO;
+ enum spectre_v2_mitigation_cmd cmd;
char arg[20];
int ret, i;
+ cmd = IS_ENABLED(CONFIG_MITIGATION_SPECTRE_V2) ? SPECTRE_V2_CMD_AUTO : SPECTRE_V2_CMD_NONE;
if (cmdline_find_option_bool(boot_command_line, "nospectre_v2") ||
cpu_mitigations_off())
return SPECTRE_V2_CMD_NONE;
ret = cmdline_find_option(boot_command_line, "spectre_v2", arg, sizeof(arg));
if (ret < 0)
- return SPECTRE_V2_CMD_AUTO;
+ return cmd;
for (i = 0; i < ARRAY_SIZE(mitigation_options); i++) {
if (!match_option(arg, ret, mitigation_options[i].option))
@@ -1472,8 +1473,8 @@ static enum spectre_v2_mitigation_cmd __init spectre_v2_parse_cmdline(void)
}
if (i >= ARRAY_SIZE(mitigation_options)) {
- pr_err("unknown option (%s). Switching to AUTO select\n", arg);
- return SPECTRE_V2_CMD_AUTO;
+ pr_err("unknown option (%s). Switching to default mode\n", arg);
+ return cmd;
}
if ((cmd == SPECTRE_V2_CMD_RETPOLINE ||
next prev parent reply other threads:[~2024-07-30 14:15 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-29 16:40 [PATCH v4 00/11] x86/bugs: Separate config for mitigations Breno Leitao
2024-07-29 16:40 ` [PATCH v4 01/11] x86/bugs: Add a separate config for MDS Breno Leitao
2024-07-30 14:15 ` [tip: x86/bugs] " tip-bot2 for Breno Leitao
2024-07-29 16:40 ` [PATCH v4 02/11] x86/bugs: Add a separate config for TAA Breno Leitao
2024-07-30 14:15 ` [tip: x86/bugs] " tip-bot2 for Breno Leitao
2024-07-29 16:40 ` [PATCH v4 03/11] x86/bugs: Add a separate config for MMIO Stable Data Breno Leitao
2024-07-30 14:15 ` [tip: x86/bugs] " tip-bot2 for Breno Leitao
2024-07-29 16:40 ` [PATCH v4 04/11] x86/bugs: Add a separate config for L1TF Breno Leitao
2024-07-30 14:15 ` [tip: x86/bugs] " tip-bot2 for Breno Leitao
2024-07-29 16:40 ` [PATCH v4 05/11] x86/bugs: Add a separate config for RETBLEED Breno Leitao
2024-07-30 14:15 ` [tip: x86/bugs] " tip-bot2 for Breno Leitao
2024-07-29 16:40 ` [PATCH v4 06/11] x86/bugs: Add a separate config for Spectre v1 Breno Leitao
2024-07-30 14:15 ` [tip: x86/bugs] " tip-bot2 for Breno Leitao
2024-07-29 16:40 ` [PATCH v4 07/11] x86/bugs: Add a separate config for SRBDS Breno Leitao
2024-07-30 14:15 ` [tip: x86/bugs] " tip-bot2 for Breno Leitao
2024-07-29 16:40 ` [PATCH v4 08/11] x86/bugs: Add a separate config for Spectre V2 Breno Leitao
2024-07-30 14:15 ` tip-bot2 for Breno Leitao [this message]
2024-07-29 16:40 ` [PATCH v4 09/11] x86/bugs: Add a separate config for SSB Breno Leitao
2024-07-30 14:15 ` [tip: x86/bugs] " tip-bot2 for Breno Leitao
2024-07-29 16:40 ` [PATCH v4 10/11] x86/bugs: Remove GDS Force Kconfig option Breno Leitao
2024-07-29 17:09 ` Daniel Sneddon
2024-07-30 14:15 ` [tip: x86/bugs] " tip-bot2 for Breno Leitao
2024-07-29 16:40 ` [PATCH v4 11/11] x86/bugs: Add a separate config for GDS Breno Leitao
2024-07-30 14:15 ` [tip: x86/bugs] " tip-bot2 for Breno Leitao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=172234891264.2215.9604724524846665240.tip-bot2@tip-bot2 \
--to=tip-bot2@linutronix.de \
--cc=bp@alien8.de \
--cc=jpoimboe@kernel.org \
--cc=leitao@debian.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®