Commit d3b2e775 authored by Borislav Petkov (AMD)'s avatar Borislav Petkov (AMD) Committed by Jialin Zhang
Browse files

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

stable inclusion
from stable-v5.10.192
commit 0e8139f92304cef82ac769cfb51dda341a17fb1c
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I7RQ67

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0e8139f92304cef82ac769cfb51dda341a17fb1c



--------------------------------

commit 6405b72e upstream.

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

Fixes: e9fbc47b ("x86/srso: Disable the mitigation on unaffected configurations")
Suggested-by: default avatarJosh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Acked-by: default avatarJosh Poimboeuf <jpoimboe@kernel.org>
Link: https://lore.kernel.org/r/20230814200813.p5czl47zssuej7nv@treble


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parent b2f4d82a
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -2377,8 +2377,7 @@ static void __init srso_select_mitigation(void)
		 * Zen1/2 with SMT off aren't vulnerable after the right
		 * IBPB microcode has been applied.
		 */
		if ((boot_cpu_data.x86 < 0x19) &&
		    (!cpu_smt_possible() || (cpu_smt_control == CPU_SMT_DISABLED))) {
		if (boot_cpu_data.x86 < 0x19 && !cpu_smt_possible()) {
			setup_force_cpu_cap(X86_FEATURE_SRSO_NO);
			return;
		}
@@ -2668,7 +2667,7 @@ 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, "Mitigation: SMT disabled\n");

	return sysfs_emit(buf, "%s%s\n",
			  srso_strings[srso_mitigation],