This is the start of the stable review cycle for the 4.9.81 release. There are 92 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 Sun Feb 11 13:39:04 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.9.81-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.9.y and the diffstat can be found below. thanks, greg k-h ------------- Pseudo-Shortlog of commits: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Linux 4.9.81-rc1 Borislav Petkov <bp@xxxxxxx> x86/microcode: Do the family check first Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> drm: rcar-du: Fix race condition when disabling planes at CRTC stop Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> drm: rcar-du: Use the VBK interrupt for vblank events Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> ASoC: rsnd: avoid duplicate free_irq() Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> ASoC: rsnd: don't call free_irq() on Parent SSI Julian Scheel <julian@xxxxxxxx> ASoC: simple-card: Fix misleading error message Robert Baronescu <robert.baronescu@xxxxxxx> crypto: tcrypt - fix S/G table for test_aead_speed() 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 Paolo Bonzini <pbonzini@xxxxxxxxxx> KVM: VMX: make MSR bitmaps per-VCPU Paolo Bonzini <pbonzini@xxxxxxxxxx> KVM: VMX: introduce alloc_loaded_vmcs Jim Mattson <jmattson@xxxxxxxxxx> KVM: nVMX: Eliminate vmcs02 pool David Matlack <dmatlack@xxxxxxxxxx> KVM: nVMX: mark vmcs12 pages dirty on L2 exit David Hildenbrand <david@xxxxxxxxxx> KVM: nVMX: vmx_complete_nested_posted_interrupt() can't fail David Hildenbrand <david@xxxxxxxxxx> KVM: nVMX: kmap() can't fail 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 Josh Poimboeuf <jpoimboe@xxxxxxxxxx> x86/paravirt: Remove 'noreplace-paravirt' cmdline option 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 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 Eric Biggers <ebiggers@xxxxxxxxxx> KEYS: encrypted: fix buffer overread in valid_master_desc() Takashi Iwai <tiwai@xxxxxxx> b43: Add missing MODULE_FIRMWARE() Jesse Chan <jc@xxxxxxxxx> media: soc_camera: soc_scale_crop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE Borislav Petkov <bp@xxxxxxx> x86/microcode/AMD: Do not load when running on a hypervisor Josh Poimboeuf <jpoimboe@xxxxxxxxxx> x86/asm: Fix inline asm call constraints for GCC 4.4 Eric Dumazet <edumazet@xxxxxxxxxx> soreuseport: fix mem leak in reuseport_add_sock() Martin KaFai Lau <kafai@xxxxxx> ipv6: Fix SO_REUSEPORT UDP socket with implicit sk_ipv6only Paolo Abeni <pabeni@xxxxxxxxxx> cls_u32: add missing RCU annotation. Neal Cardwell <ncardwell@xxxxxxxxxx> tcp_bbr: fix pacing_gain to always be unity when using lt_bw Jason Wang <jasowang@xxxxxxxxxx> vhost_net: stop device during reset owner Li RongQing <lirongqing@xxxxxxxxx> tcp: release sk_frag.page in tcp_disconnect Chunhao Lin <hau@xxxxxxxxxxx> r8169: fix RTL8168EP take too long to complete driver initialization. Kristian Evensen <kristian.evensen@xxxxxxxxx> qmi_wwan: Add support for Quectel EP06 Junxiao Bi <junxiao.bi@xxxxxxxxxx> qlcnic: fix deadlock bug Eric Dumazet <edumazet@xxxxxxxxxx> net: igmp: add a missing rcu locking section Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> ip6mr: fix stale iterator Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> serial: core: mark port as initialized after successful IRQ change Hugh Dickins <hughd@xxxxxxxxxx> kaiser: allocate pgd with order 0 when pti=off Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> x86/pti: Make unpoison of pgd for trusted boot work for real Hugh Dickins <hughd@xxxxxxxxxx> kaiser: fix intel_bts perf crashes 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 Jesse Chan <jc@xxxxxxxxx> auxdisplay: img-ascii-lcd: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE Michael Ellerman <mpe@xxxxxxxxxxxxxx> powerpc/64s: Allow control of RFI flush via debugfs Michael Ellerman <mpe@xxxxxxxxxxxxxx> powerpc/64s: Wire up cpu_show_meltdown() Oliver O'Halloran <oohall@xxxxxxxxx> powerpc/powernv: Check device-tree for RFI flush settings Michael Neuling <mikey@xxxxxxxxxxx> powerpc/pseries: Query hypervisor for RFI flush settings Michael Ellerman <mpe@xxxxxxxxxxxxxx> powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti Michael Ellerman <mpe@xxxxxxxxxxxxxx> powerpc/64s: Add support for RFI flush of L1-D cache Nicholas Piggin <npiggin@xxxxxxxxx> powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL Nicholas Piggin <npiggin@xxxxxxxxx> powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL Nicholas Piggin <npiggin@xxxxxxxxx> powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL Nicholas Piggin <npiggin@xxxxxxxxx> powerpc/64: Add macros for annotating the destination of rfid/hrfid Michael Neuling <mikey@xxxxxxxxxxx> powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper ------------- Diffstat: Documentation/kernel-parameters.txt | 2 - Documentation/speculation.txt | 90 +++ Makefile | 4 +- arch/powerpc/Kconfig | 1 + arch/powerpc/include/asm/exception-64e.h | 6 + arch/powerpc/include/asm/exception-64s.h | 53 ++ arch/powerpc/include/asm/feature-fixups.h | 15 + arch/powerpc/include/asm/hvcall.h | 17 + arch/powerpc/include/asm/paca.h | 10 + arch/powerpc/include/asm/plpar_wrappers.h | 14 + arch/powerpc/include/asm/setup.h | 13 + arch/powerpc/kernel/asm-offsets.c | 4 + arch/powerpc/kernel/entry_64.S | 30 +- arch/powerpc/kernel/exceptions-64s.S | 108 ++- arch/powerpc/kernel/setup_64.c | 139 ++++ arch/powerpc/kernel/vmlinux.lds.S | 9 + arch/powerpc/lib/feature-fixups.c | 42 ++ arch/powerpc/platforms/powernv/setup.c | 50 ++ arch/powerpc/platforms/pseries/setup.c | 35 + arch/x86/entry/common.c | 9 +- arch/x86/entry/entry_32.S | 3 +- arch/x86/entry/entry_64.S | 134 +--- arch/x86/entry/syscall_64.c | 7 +- arch/x86/events/intel/bts.c | 44 +- arch/x86/include/asm/asm-prototypes.h | 4 +- arch/x86/include/asm/asm.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/intel-family.h | 7 +- arch/x86/include/asm/msr-index.h | 12 + arch/x86/include/asm/msr.h | 3 +- arch/x86/include/asm/nospec-branch.h | 91 +-- arch/x86/include/asm/pgalloc.h | 11 - arch/x86/include/asm/pgtable.h | 6 + arch/x86/include/asm/processor.h | 2 - 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/uaccess.h | 15 +- arch/x86/include/asm/uaccess_32.h | 12 +- arch/x86/include/asm/uaccess_64.h | 12 +- arch/x86/kernel/alternative.c | 28 +- arch/x86/kernel/cpu/bugs.c | 128 +++- arch/x86/kernel/cpu/common.c | 70 +- arch/x86/kernel/cpu/intel.c | 66 ++ arch/x86/kernel/cpu/microcode/core.c | 47 +- 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/kernel/tboot.c | 10 + arch/x86/kvm/cpuid.c | 21 +- arch/x86/kvm/cpuid.h | 31 + arch/x86/kvm/emulate.c | 10 +- arch/x86/kvm/svm.c | 116 ++++ arch/x86/kvm/vmx.c | 763 +++++++++++---------- 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 +- crypto/tcrypt.c | 6 +- drivers/auxdisplay/img-ascii-lcd.c | 4 + drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 55 +- drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 8 + drivers/media/platform/soc_camera/soc_scale_crop.c | 4 + .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 18 +- drivers/net/ethernet/realtek/r8169.c | 4 +- drivers/net/usb/qmi_wwan.c | 1 + drivers/net/wireless/broadcom/b43/main.c | 10 + drivers/pinctrl/pxa/pinctrl-pxa2xx.c | 4 + drivers/tty/serial/serial_core.c | 2 + drivers/vhost/net.c | 1 + 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/core/sock_reuseport.c | 35 +- net/ipv4/igmp.c | 4 + net/ipv4/tcp.c | 6 + net/ipv4/tcp_bbr.c | 6 +- net/ipv6/af_inet6.c | 11 +- net/ipv6/ip6mr.c | 1 + net/sched/cls_u32.c | 12 +- net/wireless/nl80211.c | 9 +- scripts/mod/modpost.c | 9 + security/keys/encrypted-keys/encrypted.c | 31 +- sound/soc/codecs/pcm512x-spi.c | 4 + sound/soc/generic/simple-card.c | 8 +- sound/soc/sh/rcar/ssi.c | 5 + 93 files changed, 2034 insertions(+), 797 deletions(-)