]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/bugs: Fix SRSO reporting on Zen1/2 with SMT disabled
authorBorislav Petkov (AMD) <bp@alien8.de>
Tue, 13 May 2025 11:04:05 +0000 (13:04 +0200)
committerBorislav Petkov (AMD) <bp@alien8.de>
Tue, 13 May 2025 20:31:08 +0000 (22:31 +0200)
1f4bb068b498 ("x86/bugs: Restructure SRSO mitigation") does this:

  if (boot_cpu_data.x86 < 0x19 && !cpu_smt_possible()) {
          setup_force_cpu_cap(X86_FEATURE_SRSO_NO);
          srso_mitigation = SRSO_MITIGATION_NONE;
          return;
  }

and, in particular, sets srso_mitigation to NONE. This leads to
reporting

  Speculative Return Stack Overflow: Vulnerable

on Zen2 machines.

There's a far bigger confusion with what SRSO_NO means and how it is
used in the code but this will be a matter of future fixes and
restructuring to how the SRSO mitigation gets determined.

Fix the reporting issue for now.

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

index 47c74c4ae2064c45b7e841428976c989fdadbec1..dd8b50b4ceaa14a93bee8142b5386629af5220b6 100644 (file)
@@ -2942,7 +2942,9 @@ static void __init srso_update_mitigation(void)
            boot_cpu_has(X86_FEATURE_IBPB_BRTYPE))
                srso_mitigation = SRSO_MITIGATION_IBPB;
 
-       if (boot_cpu_has_bug(X86_BUG_SRSO) && !cpu_mitigations_off())
+       if (boot_cpu_has_bug(X86_BUG_SRSO) &&
+           !cpu_mitigations_off() &&
+           !boot_cpu_has(X86_FEATURE_SRSO_NO))
                pr_info("%s\n", srso_strings[srso_mitigation]);
 }