]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
x86/bugs: Add attack vector controls for spectre_v2_user
authorDavid Kaplan <david.kaplan@amd.com>
Mon, 7 Jul 2025 18:33:08 +0000 (13:33 -0500)
committerBorislav Petkov (AMD) <bp@alien8.de>
Fri, 11 Jul 2025 15:56:41 +0000 (17:56 +0200)
Use attack vector controls to determine if spectre_v2_user mitigation is
required.

Signed-off-by: David Kaplan <david.kaplan@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/20250707183316.1349127-14-david.kaplan@amd.com
arch/x86/kernel/cpu/bugs.c

index de6eb59fd485a4291a660aa1617e48d1ce704e7f..ff5625164f6df07ab3238f712c3d45242c473bb3 100644 (file)
@@ -1817,7 +1817,7 @@ static enum spectre_v2_user_cmd __init spectre_v2_parse_user_cmdline(void)
        char arg[20];
        int ret, i;
 
-       if (cpu_mitigations_off() || !IS_ENABLED(CONFIG_MITIGATION_SPECTRE_V2))
+       if (!IS_ENABLED(CONFIG_MITIGATION_SPECTRE_V2))
                return SPECTRE_V2_USER_CMD_NONE;
 
        ret = cmdline_find_option(boot_command_line, "spectre_v2_user",
@@ -1855,6 +1855,13 @@ static void __init spectre_v2_user_select_mitigation(void)
                spectre_v2_user_stibp = SPECTRE_V2_USER_STRICT;
                break;
        case SPECTRE_V2_USER_CMD_AUTO:
+               if (!should_mitigate_vuln(X86_BUG_SPECTRE_V2_USER))
+                       break;
+               spectre_v2_user_ibpb = SPECTRE_V2_USER_PRCTL;
+               if (smt_mitigations == SMT_MITIGATIONS_OFF)
+                       break;
+               spectre_v2_user_stibp = SPECTRE_V2_USER_PRCTL;
+               break;
        case SPECTRE_V2_USER_CMD_PRCTL:
                spectre_v2_user_ibpb  = SPECTRE_V2_USER_PRCTL;
                spectre_v2_user_stibp = SPECTRE_V2_USER_PRCTL;