| From 84749d83758af6576552046b215b9b7f37f9556b Mon Sep 17 00:00:00 2001 |
| From: Borislav Petkov <bp@suse.de> |
| Date: Sat, 21 Apr 2018 10:19:29 +0200 |
| Subject: x86/microcode/intel: Save microcode patch unconditionally |
| |
| From: Borislav Petkov <bp@suse.de> |
| |
| commit 84749d83758af6576552046b215b9b7f37f9556b upstream. |
| |
| 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: Vitezslav Samel <vitezslav@samel.cz> |
| Signed-off-by: Borislav Petkov <bp@suse.de> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Tested-by: Vitezslav Samel <vitezslav@samel.cz> |
| Tested-by: Ashok 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 |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/x86/kernel/cpu/microcode/intel.c | 2 -- |
| 1 file changed, 2 deletions(-) |
| |
| --- a/arch/x86/kernel/cpu/microcode/intel.c |
| +++ b/arch/x86/kernel/cpu/microcode/intel.c |
| @@ -485,7 +485,6 @@ static void show_saved_mc(void) |
| */ |
| static void save_mc_for_early(u8 *mc, unsigned int size) |
| { |
| -#ifdef CONFIG_HOTPLUG_CPU |
| /* Synchronization during CPU hotplug. */ |
| static DEFINE_MUTEX(x86_cpu_microcode_mutex); |
| |
| @@ -495,7 +494,6 @@ static void save_mc_for_early(u8 *mc, un |
| show_saved_mc(); |
| |
| mutex_unlock(&x86_cpu_microcode_mutex); |
| -#endif |
| } |
| |
| static bool load_builtin_intel_microcode(struct cpio_data *cp) |