[4.15 & 4.14 stable 00/12] Series to update microcode loading.

From: Ashok Raj
Date: Fri Apr 06 2018 - 14:32:11 EST


Hi Greg

Here is a series that addresses microcode loading stability issues post
Spectre. All of them are simply cherry-picked and the patches themselves
have the upstream commit ID's.

I checked this for Intel platforms and thanks to Boris for checking
on AMD platforms.

I'm still working on a 4.9 backport, will send those once i get them to
work. stop_machine differences seem big enough that i might choose a
different approach for the 4.9 backport.

Cheers,
Ashok

Ashok Raj (4):
x86/microcode/intel: Check microcode revision before updating sibling
threads
x86/microcode/intel: Writeback and invalidate caches before updating
microcode
x86/microcode: Do not upload microcode if CPUs are offline
x86/microcode: Synchronize late microcode loading

Borislav Petkov (8):
x86/microcode: Propagate return value from updating functions
x86/CPU: Add a microcode loader callback
x86/CPU: Check CPU feature bits after microcode upgrade
x86/microcode: Get rid of struct apply_microcode_ctx
x86/microcode/intel: Look into the patch cache first
x86/microcode: Request microcode on the BSP
x86/microcode: Attempt late loading only when new microcode is present
x86/microcode: Fix CPU synchronization routine

arch/x86/include/asm/microcode.h | 10 +-
arch/x86/include/asm/processor.h | 1 +
arch/x86/kernel/cpu/common.c | 30 ++++++
arch/x86/kernel/cpu/microcode/amd.c | 44 +++++----
arch/x86/kernel/cpu/microcode/core.c | 181 ++++++++++++++++++++++++++--------
arch/x86/kernel/cpu/microcode/intel.c | 62 +++++++++---
6 files changed, 252 insertions(+), 76 deletions(-)

--
2.7.4