This is the start of the stable review cycle for the 4.14.18 release. There are 64 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know. Responses should be made by Wed Feb 7 18:21:22 UTC 2018. Anything received after that time might be too late. The whole patch series can be found in one patch at: kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.14.18-rc1.gz or in the git tree and branch at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.14.y and the diffstat can be found below. thanks, greg k-h ------------- Pseudo-Shortlog of commits: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Linux 4.14.18-rc1 Ian Abbott <abbotti@xxxxxxxxx> fpga: region: release of_parse_phandle nodes after use Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> serial: core: mark port as initialized after successful IRQ change KarimAllah Ahmed <karahmed@xxxxxxxxx> KVM/SVM: Allow direct access to MSR_IA32_SPEC_CTRL KarimAllah Ahmed <karahmed@xxxxxxxxx> KVM/VMX: Allow direct access to MSR_IA32_SPEC_CTRL KarimAllah Ahmed <karahmed@xxxxxxxxx> KVM/VMX: Emulate MSR_IA32_ARCH_CAPABILITIES Ashok Raj <ashok.raj@xxxxxxxxx> KVM/x86: Add IBPB support KarimAllah Ahmed <karahmed@xxxxxxxxx> KVM/x86: Update the reverse_cpuid list to include CPUID_7_EDX Darren Kenny <darren.kenny@xxxxxxxxxx> x86/speculation: Fix typo IBRS_ATT, which should be IBRS_ALL Arnd Bergmann <arnd@xxxxxxxx> x86/pti: Mark constant arrays as __initconst KarimAllah Ahmed <karahmed@xxxxxxxxx> x86/spectre: Simplify spectre_v2 command line parsing David Woodhouse <dwmw@xxxxxxxxxxxx> x86/retpoline: Avoid retpolines for built-in __init functions Dan Williams <dan.j.williams@xxxxxxxxx> x86/kvm: Update spectre-v1 mitigation Paolo Bonzini <pbonzini@xxxxxxxxxx> KVM: VMX: make MSR bitmaps per-VCPU Josh Poimboeuf <jpoimboe@xxxxxxxxxx> x86/paravirt: Remove 'noreplace-paravirt' cmdline option Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> x86/speculation: Use Indirect Branch Prediction Barrier in context switch David Woodhouse <dwmw@xxxxxxxxxxxx> x86/cpuid: Fix up "virtual" IBRS/IBPB/STIBP feature bits on Intel Colin Ian King <colin.king@xxxxxxxxxxxxx> x86/spectre: Fix spelling mistake: "vunerable"-> "vulnerable" Dan Williams <dan.j.williams@xxxxxxxxx> x86/spectre: Report get_user mitigation for spectre_v1 Dan Williams <dan.j.williams@xxxxxxxxx> nl80211: Sanitize array index in parse_txq_params Dan Williams <dan.j.williams@xxxxxxxxx> vfs, fdtable: Prevent bounds-check bypass via speculative execution Dan Williams <dan.j.williams@xxxxxxxxx> x86/syscall: Sanitize syscall table de-references under speculation Dan Williams <dan.j.williams@xxxxxxxxx> x86/get_user: Use pointer masking to limit speculation Dan Williams <dan.j.williams@xxxxxxxxx> x86/uaccess: Use __uaccess_begin_nospec() and uaccess_try_nospec Dan Williams <dan.j.williams@xxxxxxxxx> x86/usercopy: Replace open coded stac/clac with __uaccess_{begin, end} Dan Williams <dan.j.williams@xxxxxxxxx> x86: Introduce __uaccess_begin_nospec() and uaccess_try_nospec Dan Williams <dan.j.williams@xxxxxxxxx> x86: Introduce barrier_nospec Dan Williams <dan.j.williams@xxxxxxxxx> x86: Implement array_index_mask_nospec Dan Williams <dan.j.williams@xxxxxxxxx> array_index_nospec: Sanitize speculative array de-references Mark Rutland <mark.rutland@xxxxxxx> Documentation: Document array_index_nospec Andy Lutomirski <luto@xxxxxxxxxx> x86/asm: Move 'status' from thread_struct to thread_info Andy Lutomirski <luto@xxxxxxxxxx> x86/entry/64: Push extra regs right away Andy Lutomirski <luto@xxxxxxxxxx> x86/entry/64: Remove the SYSCALL64 fast path Dou Liyang <douly.fnst@xxxxxxxxxxxxxx> x86/spectre: Check CONFIG_RETPOLINE in command line parser William Grant <william.grant@xxxxxxxxxxxxx> x86/mm: Fix overlap of i386 CPU_ENTRY_AREA with FIX_BTMAP Josh Poimboeuf <jpoimboe@xxxxxxxxxx> objtool: Warn on stripped section symbol Josh Poimboeuf <jpoimboe@xxxxxxxxxx> objtool: Add support for alternatives at the end of a section Josh Poimboeuf <jpoimboe@xxxxxxxxxx> objtool: Improve retpoline alternative handling Paolo Bonzini <pbonzini@xxxxxxxxxx> KVM: VMX: introduce alloc_loaded_vmcs Jim Mattson <jmattson@xxxxxxxxxx> KVM: nVMX: Eliminate vmcs02 pool Jesse Chan <jc@xxxxxxxxx> ASoC: pcm512x: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE Jesse Chan <jc@xxxxxxxxx> pinctrl: pxa: pxa2xx: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE Linus Walleij <linus.walleij@xxxxxxxxxx> iio: adc/accel: Fix up module licenses Jesse Chan <jc@xxxxxxxxx> auxdisplay: img-ascii-lcd: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE Borislav Petkov <bp@xxxxxxx> x86/speculation: Simplify indirect_branch_prediction_barrier() Borislav Petkov <bp@xxxxxxxxx> x86/retpoline: Simplify vmexit_fill_RSB() David Woodhouse <dwmw@xxxxxxxxxxxx> x86/cpufeatures: Clean up Spectre v2 related CPUID flags Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/cpu/bugs: Make retpoline module warning conditional Borislav Petkov <bp@xxxxxxx> x86/bugs: Drop one "mitigation" from dmesg Borislav Petkov <bp@xxxxxxx> x86/nospec: Fix header guards names Borislav Petkov <bp@xxxxxxx> x86/alternative: Print unadorned pointers David Woodhouse <dwmw@xxxxxxxxxxxx> x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support David Woodhouse <dwmw@xxxxxxxxxxxx> x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 microcodes David Woodhouse <dwmw@xxxxxxxxxxxx> x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown David Woodhouse <dwmw@xxxxxxxxxxxx> x86/msr: Add definitions for new speculation control MSRs David Woodhouse <dwmw@xxxxxxxxxxxx> x86/cpufeatures: Add AMD feature bits for Speculation Control David Woodhouse <dwmw@xxxxxxxxxxxx> x86/cpufeatures: Add Intel feature bits for Speculation Control David Woodhouse <dwmw@xxxxxxxxxxxx> x86/cpufeatures: Add CPUID_7_EDX CPUID leaf Andi Kleen <ak@xxxxxxxxxxxxxxx> module/retpoline: Warn about missing retpoline in module Peter Zijlstra <peterz@xxxxxxxxxxxxx> KVM: VMX: Make indirect call speculation safe Peter Zijlstra <peterz@xxxxxxxxxxxxx> KVM: x86: Make indirect calls in emulator speculation safe Waiman Long <longman@xxxxxxxxxx> x86/retpoline: Remove the esp/rsp thunk Michael Ellerman <mpe@xxxxxxxxxxxxxx> powerpc/64s: Allow control of RFI flush via debugfs Michael Ellerman <mpe@xxxxxxxxxxxxxx> powerpc/64s: Wire up cpu_show_meltdown() Liu, Changcheng <changcheng.liu@xxxxxxxxx> scripts/faddr2line: fix CROSS_COMPILE unset error ------------- Diffstat: Documentation/admin-guide/kernel-parameters.txt | 2 - Documentation/speculation.txt | 90 ++++ Makefile | 4 +- arch/powerpc/Kconfig | 1 + arch/powerpc/kernel/setup_64.c | 38 ++ arch/x86/entry/common.c | 9 +- arch/x86/entry/entry_32.S | 3 +- arch/x86/entry/entry_64.S | 130 +---- arch/x86/entry/syscall_64.c | 7 +- arch/x86/include/asm/asm-prototypes.h | 4 +- arch/x86/include/asm/barrier.h | 28 + arch/x86/include/asm/cpufeature.h | 7 +- arch/x86/include/asm/cpufeatures.h | 22 +- arch/x86/include/asm/disabled-features.h | 3 +- arch/x86/include/asm/fixmap.h | 6 +- arch/x86/include/asm/msr-index.h | 12 + arch/x86/include/asm/msr.h | 3 +- arch/x86/include/asm/nospec-branch.h | 86 +-- arch/x86/include/asm/pgtable_32_types.h | 5 +- arch/x86/include/asm/processor.h | 5 +- arch/x86/include/asm/required-features.h | 3 +- arch/x86/include/asm/syscall.h | 6 +- arch/x86/include/asm/thread_info.h | 3 +- arch/x86/include/asm/tlbflush.h | 2 + arch/x86/include/asm/uaccess.h | 15 +- arch/x86/include/asm/uaccess_32.h | 6 +- arch/x86/include/asm/uaccess_64.h | 12 +- arch/x86/kernel/alternative.c | 28 +- arch/x86/kernel/cpu/bugs.c | 134 +++-- arch/x86/kernel/cpu/common.c | 70 ++- arch/x86/kernel/cpu/intel.c | 66 +++ arch/x86/kernel/cpu/scattered.c | 2 - arch/x86/kernel/process_64.c | 4 +- arch/x86/kernel/ptrace.c | 2 +- arch/x86/kernel/signal.c | 2 +- arch/x86/kvm/cpuid.c | 22 +- arch/x86/kvm/cpuid.h | 1 + arch/x86/kvm/emulate.c | 9 +- arch/x86/kvm/svm.c | 116 +++++ arch/x86/kvm/vmx.c | 660 ++++++++++++++---------- arch/x86/kvm/x86.c | 1 + arch/x86/lib/Makefile | 1 + arch/x86/lib/getuser.S | 10 + arch/x86/lib/retpoline.S | 57 +- arch/x86/lib/usercopy_32.c | 8 +- arch/x86/mm/tlb.c | 33 +- drivers/auxdisplay/img-ascii-lcd.c | 4 + drivers/fpga/fpga-region.c | 13 +- drivers/iio/accel/kxsd9-i2c.c | 3 + drivers/iio/adc/qcom-vadc-common.c | 4 + drivers/pinctrl/pxa/pinctrl-pxa2xx.c | 4 + drivers/tty/serial/serial_core.c | 2 + include/linux/fdtable.h | 5 +- include/linux/init.h | 9 +- include/linux/module.h | 9 + include/linux/nospec.h | 72 +++ kernel/module.c | 11 + net/wireless/nl80211.c | 9 +- scripts/faddr2line | 8 +- scripts/mod/modpost.c | 9 + sound/soc/codecs/pcm512x-spi.c | 4 + tools/objtool/check.c | 89 ++-- tools/objtool/orc_gen.c | 5 + 63 files changed, 1355 insertions(+), 643 deletions(-)