[PATCH 4.14 00/64] 4.14.18-stable review

From: Greg Kroah-Hartman
Date: Mon Feb 05 2018 - 13:23:37 EST


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(-)