提交 84749d83 编写于 作者: B Borislav Petkov 提交者: 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: NVitezslav Samel <vitezslav@samel.cz>
Signed-off-by: NBorislav Petkov <bp@suse.de>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
Tested-by: NVitezslav Samel <vitezslav@samel.cz>
Tested-by: NAshok 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
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册