x86/microcode/intel: Do not retry microcode reloading on the APs
authorAshok Raj <ashok.raj@intel.com>
Tue, 29 Nov 2022 21:08:27 +0000 (13:08 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Jan 2023 10:58:54 +0000 (11:58 +0100)
commit be1b670f61443aa5d0d01782e9b8ea0ee825d018 upstream.

The retries in load_ucode_intel_ap() were in place to support systems
with mixed steppings. Mixed steppings are no longer supported and there is
only one microcode image at a time. Any retries will simply reattempt to
apply the same image over and over without making progress.

  [ bp: Zap the circumstantial reasoning from the commit message. ]

Fixes: 06b8534cb728 ("x86/microcode: Rework microcode loading")
Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20221129210832.107850-3-ashok.raj@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kernel/cpu/microcode/intel.c

index 7e8e07b..1ba590e 100644 (file)
@@ -659,7 +659,6 @@ void load_ucode_intel_ap(void)
        else
                iup = &intel_ucode_patch;
 
-reget:
        if (!*iup) {
                patch = __load_ucode_intel(&uci);
                if (!patch)
@@ -670,12 +669,7 @@ reget:
 
        uci.mc = *iup;
 
-       if (apply_microcode_early(&uci, true)) {
-               /* Mixed-silicon system? Try to refetch the proper patch: */
-               *iup = NULL;
-
-               goto reget;
-       }
+       apply_microcode_early(&uci, true);
 }
 
 static struct microcode_intel *find_patch(struct ucode_cpu_info *uci)