]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
x86/CPU/AMD: Call the spectral chicken in the Zen2 init function
authorBorislav Petkov (AMD) <bp@alien8.de>
Wed, 1 Nov 2023 10:20:01 +0000 (11:20 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 May 2026 12:49:41 +0000 (14:49 +0200)
Commit cfbf4f992bfce1fa9f2f347a79cbbea0368e7971 upstream.

No functional change.

Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Nikolay Borisov <nik.borisov@suse.com>
Link: http://lore.kernel.org/r/20231120104152.13740-6-bp@alien8.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kernel/cpu/amd.c

index 1e3c9d9e513dc7787ebe6a272136de712fc1bc8f..d244329e33b08e162e1e800dd6e185d49ae4ff20 100644 (file)
@@ -1050,10 +1050,8 @@ void init_spectral_chicken(struct cpuinfo_x86 *c)
         *
         * This suppresses speculation from the middle of a basic block, i.e. it
         * suppresses non-branch predictions.
-        *
-        * We use STIBP as a heuristic to filter out Zen2 from the rest of F17H
         */
-       if (!cpu_has(c, X86_FEATURE_HYPERVISOR) && cpu_has(c, X86_FEATURE_AMD_STIBP)) {
+       if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) {
                if (!rdmsrl_safe(MSR_ZEN2_SPECTRAL_CHICKEN, &value)) {
                        value |= MSR_ZEN2_SPECTRAL_CHICKEN_BIT;
                        wrmsrl_safe(MSR_ZEN2_SPECTRAL_CHICKEN, value);
@@ -1144,6 +1142,7 @@ static void init_amd_zen(struct cpuinfo_x86 *c)
 
 static void init_amd_zen2(struct cpuinfo_x86 *c)
 {
+       init_spectral_chicken(c);
 }
 
 static void init_amd_zen3(struct cpuinfo_x86 *c)
@@ -1183,7 +1182,7 @@ static void init_amd(struct cpuinfo_x86 *c)
        case 0x12: init_amd_ln(c); break;
        case 0x15: init_amd_bd(c); break;
        case 0x16: init_amd_jg(c); break;
-       case 0x17: init_spectral_chicken(c);
+       case 0x17:
                   fallthrough;
        case 0x19: init_amd_zn(c); break;
        }