From: Greg Kroah-Hartman Date: Tue, 12 May 2026 17:38:23 +0000 (+0200) Subject: 6.12-stable patches X-Git-Tag: v6.12.88~16 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=15967c1c3c95f7604db0a6e1eb6fc65a7dd26ed3;p=thirdparty%2Fkernel%2Fstable-queue.git 6.12-stable patches added patches: x86-cpu-amd-prevent-improper-isolation-of-shared-resources-in-zen2-s-op-cache.patch --- diff --git a/queue-6.12/series b/queue-6.12/series index 4b79bc728e..c430c7df1e 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -203,3 +203,4 @@ wifi-mt76-mt7925-fix-incorrect-tlv-length-in-clc-command.patch tracepoint-balance-regfunc-on-func_add-failure-in-tracepoint_add_func.patch rust-pin-init-fix-incorrect-accessor-reference-lifetime.patch kvm-arm64-wake-up-from-wfi-when-iqrchip-is-in-userspace.patch +x86-cpu-amd-prevent-improper-isolation-of-shared-resources-in-zen2-s-op-cache.patch diff --git a/queue-6.12/x86-cpu-amd-prevent-improper-isolation-of-shared-resources-in-zen2-s-op-cache.patch b/queue-6.12/x86-cpu-amd-prevent-improper-isolation-of-shared-resources-in-zen2-s-op-cache.patch new file mode 100644 index 0000000000..8cb2fe6a0f --- /dev/null +++ b/queue-6.12/x86-cpu-amd-prevent-improper-isolation-of-shared-resources-in-zen2-s-op-cache.patch @@ -0,0 +1,62 @@ +From 8f6d2f1b304df0f8c1c6039f830d7ea34d3418f3 Mon Sep 17 00:00:00 2001 +From: Prathyushi Nangia +Date: Tue, 9 Dec 2025 10:01:33 -0600 +Subject: x86/CPU/AMD: Prevent improper isolation of shared resources in Zen2's op cache + +From: Prathyushi Nangia + +commit c21b90f77687075115d989e53a8ec5e2bb427ab1 upstream. + +Make sure resources are not improperly shared in the op cache and +cause instruction corruption this way. + +Signed-off-by: Prathyushi Nangia +Co-developed-by: Borislav Petkov (AMD) +Signed-off-by: Borislav Petkov (AMD) +Cc: stable@vger.kernel.org +Signed-off-by: Greg Kroah-Hartman +--- + arch/x86/include/asm/msr-index.h | 3 ++- + arch/x86/kernel/cpu/amd.c | 3 +++ + tools/arch/x86/include/asm/msr-index.h | 3 ++- + 3 files changed, 7 insertions(+), 2 deletions(-) + +--- a/arch/x86/include/asm/msr-index.h ++++ b/arch/x86/include/asm/msr-index.h +@@ -734,9 +734,10 @@ + #define MSR_AMD64_LBR_SELECT 0xc000010e + + /* Zen4 */ +-#define MSR_ZEN4_BP_CFG 0xc001102e ++#define MSR_ZEN4_BP_CFG 0xc001102e + #define MSR_ZEN4_BP_CFG_BP_SPEC_REDUCE_BIT 4 + #define MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT 5 ++#define MSR_ZEN2_BP_CFG_BUG_FIX_BIT 33 + + /* Fam 19h MSRs */ + #define MSR_F19H_UMC_PERF_CTL 0xc0010800 +--- a/arch/x86/kernel/cpu/amd.c ++++ b/arch/x86/kernel/cpu/amd.c +@@ -989,6 +989,9 @@ static void init_amd_zen2(struct cpuinfo + msr_clear_bit(MSR_AMD64_CPUID_FN_7, 18); + pr_emerg("RDSEED is not reliable on this platform; disabling.\n"); + } ++ ++ if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) ++ msr_set_bit(MSR_ZEN4_BP_CFG, MSR_ZEN2_BP_CFG_BUG_FIX_BIT); + } + + static void init_amd_zen3(struct cpuinfo_x86 *c) +--- a/tools/arch/x86/include/asm/msr-index.h ++++ b/tools/arch/x86/include/asm/msr-index.h +@@ -717,8 +717,9 @@ + #define MSR_AMD64_LBR_SELECT 0xc000010e + + /* Zen4 */ +-#define MSR_ZEN4_BP_CFG 0xc001102e ++#define MSR_ZEN4_BP_CFG 0xc001102e + #define MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT 5 ++#define MSR_ZEN2_BP_CFG_BUG_FIX_BIT 33 + + /* Fam 19h MSRs */ + #define MSR_F19H_UMC_PERF_CTL 0xc0010800