]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/bugs: Fix spectre_v2 mitigation default on Intel
authorPawan Gupta <pawan.kumar.gupta@linux.intel.com>
Wed, 21 May 2025 05:35:20 +0000 (22:35 -0700)
committerBorislav Petkov (AMD) <bp@alien8.de>
Wed, 21 May 2025 09:51:32 +0000 (11:51 +0200)
Commit

  480e803dacf8 ("x86/bugs: Restructure spectre_v2 mitigation")

inadvertently changed the spectre-v2 mitigation default from eIBRS to IBRS on
Intel. While splitting the spectre_v2 mitigation in select/update/apply
functions, eIBRS and IBRS selection logic was separated in select and update.

This caused IBRS selection to not consider that eIBRS mitigation is already
selected, fix it.

Fixes: 480e803dacf8 ("x86/bugs: Restructure spectre_v2 mitigation")
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/20250520-eibrs-fix-v1-1-91bacd35ed09@linux.intel.com
arch/x86/kernel/cpu/bugs.c

index 3d5796d25f786837df59f9ce6358bc875cabe731..7f94e6a5497d9a2d312a76095e48d6b364565777 100644 (file)
@@ -2105,7 +2105,8 @@ static void __init spectre_v2_select_mitigation(void)
 
 static void __init spectre_v2_update_mitigation(void)
 {
-       if (spectre_v2_cmd == SPECTRE_V2_CMD_AUTO) {
+       if (spectre_v2_cmd == SPECTRE_V2_CMD_AUTO &&
+           !spectre_v2_in_eibrs_mode(spectre_v2_enabled)) {
                if (IS_ENABLED(CONFIG_MITIGATION_IBRS_ENTRY) &&
                    boot_cpu_has_bug(X86_BUG_RETBLEED) &&
                    retbleed_mitigation != RETBLEED_MITIGATION_NONE &&