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

x86/srso: Disable the mitigation on unaffected configurations

stable inclusion
from stable-v5.10.192
commit 88e16ce7f8a6b1e1024f70f1729b93e5612da7b2
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=88e16ce7f8a6b1e1024f70f1729b93e5612da7b2



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

commit e9fbc47b 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: 5a15d834 ("x86/srso: Tie SBPB bit setting to microcode patch detection")
Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20230813104517.3346-1-bp@alien8.de


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parent d39ba984
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -2378,8 +2378,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) {
@@ -2665,6 +2667,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"));