]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
x86/srso: Disable the mitigation on unaffected configurations
authorBorislav Petkov (AMD) <bp@alien8.de>
Sun, 13 Aug 2023 10:39:34 +0000 (12:39 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Aug 2023 13:26:58 +0000 (15:26 +0200)
commit e9fbc47b818b964ddff5df5b2d5c0f5f32f4a147 upstream.

Skip the srso cmd line parsing which is not needed on Zen1/2 with SMT
disabled and with the proper microcode applied (latter should be the
case anyway) as those are not affected.

Fixes: 5a15d8348881 ("x86/srso: Tie SBPB bit setting to microcode patch detection")
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20230813104517.3346-1-bp@alien8.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kernel/cpu/bugs.c

index a27d4e2f5342eed918dd0143587a4a9e29e73ccf..9a2ffda1c85f738d298e43db940203512408a4a8 100644 (file)
@@ -2329,8 +2329,10 @@ static void __init srso_select_mitigation(void)
                 * IBPB microcode has been applied.
                 */
                if ((boot_cpu_data.x86 < 0x19) &&
-                   (!cpu_smt_possible() || (cpu_smt_control == CPU_SMT_DISABLED)))
+                   (!cpu_smt_possible() || (cpu_smt_control == CPU_SMT_DISABLED))) {
                        setup_force_cpu_cap(X86_FEATURE_SRSO_NO);
+                       return;
+               }
        }
 
        if (retbleed_mitigation == RETBLEED_MITIGATION_IBPB) {
@@ -2616,6 +2618,9 @@ static ssize_t gds_show_state(char *buf)
 
 static ssize_t srso_show_state(char *buf)
 {
+       if (boot_cpu_has(X86_FEATURE_SRSO_NO))
+               return sysfs_emit(buf, "Not affected\n");
+
        return sysfs_emit(buf, "%s%s\n",
                          srso_strings[srso_mitigation],
                          (cpu_has_ibpb_brtype_microcode() ? "" : ", no microcode"));