[PATCH 0/4] Speculation control improvements

From: David Woodhouse
Date: Wed Feb 14 2018 - 08:44:55 EST


A revised version of the dropped IBRS-firmware patch which now just
ignores the horrid hpwdt driver completely, and explicitly disables
preemption while IBRS is set.

Revised version of the IBRS_ALL patch with a typo fixed, revert another
broken bikeshedding patch, and add support for retpoline builds with
clang now that clang is fixed.

David Woodhouse (4):
x86/speculation: Use IBRS if available before calling into firmware
x86/speculation: Support "Enhanced IBRS" on future CPUs
Revert "x86/retpoline: Simplify vmexit_fill_RSB()"
x86/retpoline: Support retpoline build with Clang

arch/x86/Makefile | 5 +-
arch/x86/entry/entry_32.S | 3 +-
arch/x86/entry/entry_64.S | 3 +-
arch/x86/include/asm/apm.h | 6 ++
arch/x86/include/asm/asm-prototypes.h | 3 -
arch/x86/include/asm/cpufeatures.h | 1 +
arch/x86/include/asm/efi.h | 17 ++++-
arch/x86/include/asm/nospec-branch.h | 118 +++++++++++++++++++++++++++++-----
arch/x86/kernel/cpu/bugs.c | 26 +++++++-
arch/x86/kvm/vmx.c | 31 +++++----
arch/x86/lib/Makefile | 1 -
arch/x86/lib/retpoline.S | 56 ----------------
include/linux/compiler-clang.h | 5 ++
include/linux/compiler-gcc.h | 4 ++
include/linux/init.h | 8 +--
15 files changed, 185 insertions(+), 102 deletions(-)

--
2.7.4