x86/srso: Correct the mitigation status when SMT is disabled

commit 6405b72e8d17bd1875a56ae52d23ec3cd51b9d66 upstream.

Specify how is SRSO mitigated when SMT is disabled. Also, correct the
SMT check for that.

Fixes: e9fbc47b818b ("x86/srso: Disable the mitigation on unaffected configurations")
Suggested-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://lore.kernel.org/r/20230814200813.p5czl47zssuej7nv@treble
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Borislav Petkov (AMD)
2023-08-15 11:53:13 +02:00
committed by Greg Kroah-Hartman
parent 23e5987465
commit 0e8139f923

View File

@@ -2328,8 +2328,7 @@ static void __init srso_select_mitigation(void)
* Zen1/2 with SMT off aren't vulnerable after the right * Zen1/2 with SMT off aren't vulnerable after the right
* IBPB microcode has been applied. * IBPB microcode has been applied.
*/ */
if ((boot_cpu_data.x86 < 0x19) && if (boot_cpu_data.x86 < 0x19 && !cpu_smt_possible()) {
(!cpu_smt_possible() || (cpu_smt_control == CPU_SMT_DISABLED))) {
setup_force_cpu_cap(X86_FEATURE_SRSO_NO); setup_force_cpu_cap(X86_FEATURE_SRSO_NO);
return; return;
} }
@@ -2619,7 +2618,7 @@ static ssize_t gds_show_state(char *buf)
static ssize_t srso_show_state(char *buf) static ssize_t srso_show_state(char *buf)
{ {
if (boot_cpu_has(X86_FEATURE_SRSO_NO)) if (boot_cpu_has(X86_FEATURE_SRSO_NO))
return sysfs_emit(buf, "Not affected\n"); return sysfs_emit(buf, "Mitigation: SMT disabled\n");
return sysfs_emit(buf, "%s%s\n", return sysfs_emit(buf, "%s%s\n",
srso_strings[srso_mitigation], srso_strings[srso_mitigation],