Commit 84749d83 authored by Borislav Petkov's avatar Borislav Petkov Committed by Thomas Gleixner

x86/microcode/intel: Save microcode patch unconditionally

save_mc_for_early() was a no-op on !CONFIG_HOTPLUG_CPU but the
generic_load_microcode() path saves the microcode patches it has found into
the cache of patches which is used for late loading too. Regardless of
whether CPU hotplug is used or not.

Make the saving unconditional so that late loading can find the proper
patch.
Reported-by: default avatarVitezslav Samel <vitezslav@samel.cz>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Tested-by: default avatarVitezslav Samel <vitezslav@samel.cz>
Tested-by: default avatarAshok Raj <ashok.raj@intel.com>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/20180418081140.GA2439@pc11.op.pod.cz
Link: https://lkml.kernel.org/r/20180421081930.15741-1-bp@alien8.de
parent 7010adcd
...@@ -485,7 +485,6 @@ static void show_saved_mc(void) ...@@ -485,7 +485,6 @@ static void show_saved_mc(void)
*/ */
static void save_mc_for_early(u8 *mc, unsigned int size) static void save_mc_for_early(u8 *mc, unsigned int size)
{ {
#ifdef CONFIG_HOTPLUG_CPU
/* Synchronization during CPU hotplug. */ /* Synchronization during CPU hotplug. */
static DEFINE_MUTEX(x86_cpu_microcode_mutex); static DEFINE_MUTEX(x86_cpu_microcode_mutex);
...@@ -495,7 +494,6 @@ static void save_mc_for_early(u8 *mc, unsigned int size) ...@@ -495,7 +494,6 @@ static void save_mc_for_early(u8 *mc, unsigned int size)
show_saved_mc(); show_saved_mc();
mutex_unlock(&x86_cpu_microcode_mutex); mutex_unlock(&x86_cpu_microcode_mutex);
#endif
} }
static bool load_builtin_intel_microcode(struct cpio_data *cp) static bool load_builtin_intel_microcode(struct cpio_data *cp)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment