]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/CPU/AMD: Prevent improper isolation of shared resources in Zen2's op cache
authorPrathyushi Nangia <prathyushi.nangia@amd.com>
Tue, 9 Dec 2025 16:01:33 +0000 (10:01 -0600)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 12 May 2026 03:06:36 +0000 (20:06 -0700)
Make sure resources are not improperly shared in the op cache and
cause instruction corruption this way.

Signed-off-by: Prathyushi Nangia <prathyushi.nangia@amd.com>
Co-developed-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/x86/include/asm/msr-index.h
arch/x86/kernel/cpu/amd.c
tools/arch/x86/include/asm/msr-index.h

index a14a0f43e04ae8d205f90aefbeb38e2786e8220a..86554de9a3f522c15dbf1d5b20e536b2f36a9757 100644 (file)
 #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
index 2d9ae6ab1701c0a5add983e63168bb74f567d899..2f8e8ff2d000a7c3598cd32fc3568661d37391a0 100644 (file)
@@ -989,6 +989,9 @@ static void init_amd_zen2(struct cpuinfo_x86 *c)
 
        /* Correct misconfigured CPUID on some clients. */
        clear_cpu_cap(c, X86_FEATURE_INVLPGB);
+
+       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)
index 6673601246b382e6989fd0a9a5123a0c695d185a..eff29645719bc7c31cf09e8e5fbe626d369c8009 100644 (file)
 #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