Revert "x86/bugs: Make spectre user default depend on MITIGATION_SPECTRE_V2" on v6.6 and older

This reverts commit 7adb96687c which is
commit 98fdaeb296f51ef08e727a7cc72e5b5c864c4f4d upstream.

commit 7adb96687c ("x86/bugs: Make spectre user default depend on
MITIGATION_SPECTRE_V2") depends on commit 72c70f480a70 ("x86/bugs: Add
a separate config for Spectre V2"), which introduced
MITIGATION_SPECTRE_V2.

commit 72c70f480a70 ("x86/bugs: Add a separate config for Spectre V2")
never landed in stable tree, thus, stable tree doesn't have
MITIGATION_SPECTRE_V2, that said, commit 7adb96687c ("x86/bugs: Make
spectre user default depend on MITIGATION_SPECTRE_V2") has no value if
the dependecy was not applied.

Revert commit 7adb96687c ("x86/bugs: Make spectre user default
depend on MITIGATION_SPECTRE_V2")  in stable kernel which landed in in
5.4.294, 5.10.238, 5.15.185, 6.1.141 and 6.6.93 stable versions.

Cc: David.Kaplan@amd.com
Cc: peterz@infradead.org
Cc: pawan.kumar.gupta@linux.intel.com
Cc: mingo@kernel.org
Cc: brad.spengler@opensrcsec.com
Cc: stable@vger.kernel.org # 6.6 6.1 5.15 5.10 5.4
Reported-by: Brad Spengler <brad.spengler@opensrcsec.com>
Reported-by: Salvatore Bonaccorso <carnil@debian.org>
Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Breno Leitao
2025-06-20 06:51:23 -07:00
committed by Greg Kroah-Hartman
parent af4ed5262d
commit 3c3c7c66bd
2 changed files with 3 additions and 9 deletions

View File

@@ -5978,8 +5978,6 @@
Selecting 'on' will also enable the mitigation Selecting 'on' will also enable the mitigation
against user space to user space task attacks. against user space to user space task attacks.
Selecting specific mitigation does not force enable
user mitigations.
Selecting 'off' will disable both the kernel and Selecting 'off' will disable both the kernel and
the user space protections. the user space protections.

View File

@@ -1442,13 +1442,9 @@ static __ro_after_init enum spectre_v2_mitigation_cmd spectre_v2_cmd;
static enum spectre_v2_user_cmd __init static enum spectre_v2_user_cmd __init
spectre_v2_parse_user_cmdline(void) spectre_v2_parse_user_cmdline(void)
{ {
enum spectre_v2_user_cmd mode;
char arg[20]; char arg[20];
int ret, i; int ret, i;
mode = IS_ENABLED(CONFIG_MITIGATION_SPECTRE_V2) ?
SPECTRE_V2_USER_CMD_AUTO : SPECTRE_V2_USER_CMD_NONE;
switch (spectre_v2_cmd) { switch (spectre_v2_cmd) {
case SPECTRE_V2_CMD_NONE: case SPECTRE_V2_CMD_NONE:
return SPECTRE_V2_USER_CMD_NONE; return SPECTRE_V2_USER_CMD_NONE;
@@ -1461,7 +1457,7 @@ spectre_v2_parse_user_cmdline(void)
ret = cmdline_find_option(boot_command_line, "spectre_v2_user", ret = cmdline_find_option(boot_command_line, "spectre_v2_user",
arg, sizeof(arg)); arg, sizeof(arg));
if (ret < 0) if (ret < 0)
return mode; return SPECTRE_V2_USER_CMD_AUTO;
for (i = 0; i < ARRAY_SIZE(v2_user_options); i++) { for (i = 0; i < ARRAY_SIZE(v2_user_options); i++) {
if (match_option(arg, ret, v2_user_options[i].option)) { if (match_option(arg, ret, v2_user_options[i].option)) {
@@ -1471,8 +1467,8 @@ spectre_v2_parse_user_cmdline(void)
} }
} }
pr_err("Unknown user space protection option (%s). Switching to default\n", arg); pr_err("Unknown user space protection option (%s). Switching to AUTO select\n", arg);
return mode; return SPECTRE_V2_USER_CMD_AUTO;
} }
static inline bool spectre_v2_in_ibrs_mode(enum spectre_v2_mitigation mode) static inline bool spectre_v2_in_ibrs_mode(enum spectre_v2_mitigation mode)