This is the start of the stable review cycle for the 4.9.102 release. There are 87 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 Tue May 22 21:03:57 UTC 2018. Anything received after that time might be too late. The whole patch series can be found in one patch at: https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.102-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.102-rc1 Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/bugs: Rename SSBD_NO to SSB_NO Tom Lendacky <thomas.lendacky@xxxxxxx> KVM: SVM: Implement VIRT_SPEC_CTRL support for SSBD Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/speculation, KVM: Implement support for VIRT_SPEC_CTRL/LS_CFG Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/bugs: Rework spec_ctrl base and mask logic Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/bugs: Remove x86_spec_ctrl_set() Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/bugs: Expose x86_spec_ctrl_base directly Borislav Petkov <bp@xxxxxxx> x86/bugs: Unify x86_spec_ctrl_{set_guest,restore_host} Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/speculation: Rework speculative_store_bypass_update() Tom Lendacky <thomas.lendacky@xxxxxxx> x86/speculation: Add virtualized speculative store bypass disable support Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/bugs, KVM: Extend speculation control for VIRT_SPEC_CTRL Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/speculation: Handle HT correctly on AMD Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/cpufeatures: Add FEATURE_ZEN Borislav Petkov <bp@xxxxxxx> x86/cpu/AMD: Fix erratum 1076 (CPB bit) Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/cpufeatures: Disentangle SSBD enumeration Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/cpufeatures: Disentangle MSR_SPEC_CTRL enumeration from IBRS Borislav Petkov <bp@xxxxxxx> x86/speculation: Use synthetic bits for IBRS/IBPB/STIBP Thomas Gleixner <tglx@xxxxxxxxxxxxx> KVM: SVM: Move spec control call after restore of GS Jim Mattson <jmattson@xxxxxxxxxx> x86/cpu: Make alternative_msr_write work for 32-bit code Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/bugs: Fix the parameters alignment and missing void Jiri Kosina <jkosina@xxxxxxx> x86/bugs: Make cpu_show_common() static Jiri Kosina <jkosina@xxxxxxx> x86/bugs: Fix __ssb_select_mitigation() return type Borislav Petkov <bp@xxxxxxx> Documentation/spec_ctrl: Do some minor cleanups Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> proc: Use underscores for SSBD in 'status' Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/bugs: Rename _RDS to _SSBD Kees Cook <keescook@xxxxxxxxxxxx> x86/speculation: Make "seccomp" the default mode for Speculative Store Bypass Thomas Gleixner <tglx@xxxxxxxxxxxxx> seccomp: Move speculation migitation control to arch code Kees Cook <keescook@xxxxxxxxxxxx> seccomp: Add filter flag to opt-out of SSB mitigation Thomas Gleixner <tglx@xxxxxxxxxxxxx> seccomp: Use PR_SPEC_FORCE_DISABLE Thomas Gleixner <tglx@xxxxxxxxxxxxx> prctl: Add force disable speculation Kees Cook <keescook@xxxxxxxxxxxx> x86/bugs: Make boot modes __ro_after_init Kees Cook <keescook@xxxxxxxxxxxx> seccomp: Enable speculation flaw mitigations Kees Cook <keescook@xxxxxxxxxxxx> proc: Provide details on speculation flaw mitigations Kees Cook <keescook@xxxxxxxxxxxx> nospec: Allow getting/setting on non-current task Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/speculation: Add prctl for Speculative Store Bypass mitigation Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/process: Allow runtime control of Speculative Store Bypass Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/process: Optimize TIF_NOTSC switch Kyle Huey <me@xxxxxxxxxxxx> x86/process: Correct and optimize TIF_BLOCKSTEP switch Kyle Huey <me@xxxxxxxxxxxx> x86/process: Optimize TIF checks in __switch_to_xtra() Thomas Gleixner <tglx@xxxxxxxxxxxxx> prctl: Add speculation control prctls Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/speculation: Create spec-ctrl.h to avoid include hell Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/KVM/VMX: Expose SPEC_CTRL Bit(2) to the guest David Woodhouse <dwmw@xxxxxxxxxxxx> x86/bugs/AMD: Add support to disable RDS on Fam[15,16,17]h if requested Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/bugs: Whitelist allowed SPEC_CTRL MSR values Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/bugs/intel: Set proper CPU features and setup RDS Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/bugs: Provide boot parameters for the spec_store_bypass_disable mitigation Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/cpufeatures: Add X86_FEATURE_RDS Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/bugs: Expose /sys/../spec_store_bypass Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/bugs, KVM: Support the combination of guest and host IBRS Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/bugs: Read SPEC_CTRL MSR during boot and re-use reserved bits Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/bugs: Concentrate bug reporting into a separate function Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> x86/bugs: Concentrate bug detection into a separate function Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> x86/nospec: Simplify alternative_msr_write() Liu Bo <bo.liu@xxxxxxxxxxxxxxxxx> btrfs: fix reading stale metadata blocks after degraded raid1 mounts David Woodhouse <dwmw@xxxxxxxxxxxx> x86/amd: don't set X86_BUG_SYSRET_SS_ATTRS when running under Xen Anand Jain <anand.jain@xxxxxxxxxx> btrfs: fix crash when trying to resume balance without the resume flag Filipe Manana <fdmanana@xxxxxxxx> Btrfs: fix xattr loss after power failure Masami Hiramatsu <mhiramat@xxxxxxxxxx> ARM: 8772/1: kprobes: Prohibit kprobes on get_user functions Masami Hiramatsu <mhiramat@xxxxxxxxxx> ARM: 8770/1: kprobes: Prohibit probing on optimized_callback Masami Hiramatsu <mhiramat@xxxxxxxxxx> ARM: 8769/1: kprobes: Fix to use get_kprobe_ctlblk after irq-disabed Dexuan Cui <decui@xxxxxxxxxxxxx> tick/broadcast: Use for_each_cpu() specially on UP kernels Masami Hiramatsu <mhiramat@xxxxxxxxxx> ARM: 8771/1: kprobes: Prohibit kprobes on do_undefinstr Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> efi: Avoid potential crashes, fix the 'struct efi_pci_io_protocol_32' definition for mixed mode Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> x86/pkeys: Do not special case protection key 0 Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> x86/pkeys: Override pkey when moving away from PROT_EXEC Martin Schwidefsky <schwidefsky@xxxxxxxxxx> s390: remove indirect branch from do_softirq_own_stack Julian Wiedmann <jwi@xxxxxxxxxxxxx> s390/qdio: don't release memory in qdio_setup_irq() Hendrik Brueckner <brueckner@xxxxxxxxxxxxx> s390/cpum_sf: ensure sample frequency of perf event attributes is non-zero Julian Wiedmann <jwi@xxxxxxxxxxxxx> s390/qdio: fix access to uninitialized qdio_q fields Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> mm: don't allow deferred pages with NEED_PER_CPU_KM Nicholas Piggin <npiggin@xxxxxxxxx> powerpc/powernv: Fix NVRAM sleep in invalid context when crashing Alexander Monakov <amonakov@xxxxxxxxx> i2c: designware: fix poll-after-enable regression Florian Westphal <fw@xxxxxxxxx> netfilter: nf_tables: can't fail after linking rule into active rule list Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> tracing/x86/xen: Remove zero data size trace events trace_xen_mmu_flush_tlb{_all} Waiman Long <Waiman.Long@xxxxxxx> signals: avoid unnecessary taking of sighand->siglock Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> powerpc: Don't preempt_disable() in show_cpuinfo() Andre Przywara <andre.przywara@xxxxxxx> KVM: arm/arm64: VGIC/ITS: protect kvm_read_guest() calls with SRCU lock Kamal Dasu <kdasu.kdev@xxxxxxxxx> spi: bcm-qspi: Always read and set BSPI_MAST_N_BOOT_CTRL Kamal Dasu <kdasu.kdev@xxxxxxxxx> spi: bcm-qspi: Avoid setting MSPI_CDRAM_PCS for spi-nor master Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> spi: pxa2xx: Allow 64-bit DMA Wenwen Wang <wang6495@xxxxxxx> ALSA: control: fix a redundant-copy issue Hans de Goede <hdegoede@xxxxxxxxxx> ALSA: hda: Add Lenovo C50 All in one to the power_save blacklist Federico Cuello <fedux@xxxxxxxxxxxx> ALSA: usb: mixer: volume quirk for CM102-A+/102S+ Shuah Khan (Samsung OSG) <shuah@xxxxxxxxxx> usbip: usbip_host: fix bad unlock balance during stub_probe() Shuah Khan (Samsung OSG) <shuah@xxxxxxxxxx> usbip: usbip_host: fix NULL-ptr deref and use-after-free errors Shuah Khan (Samsung OSG) <shuah@xxxxxxxxxx> usbip: usbip_host: run rebind from exit when module is removed Shuah Khan (Samsung OSG) <shuah@xxxxxxxxxx> usbip: usbip_host: delete device from busid_table after rebind Shuah Khan <shuah@xxxxxxxxxx> usbip: usbip_host: refine probe and disconnect debug msgs to be useful ------------- Diffstat: Documentation/ABI/testing/sysfs-devices-system-cpu | 1 + Documentation/kernel-parameters.txt | 45 +++ Documentation/spec_ctrl.txt | 94 +++++ Makefile | 4 +- arch/arm/include/asm/assembler.h | 10 + arch/arm/include/asm/kvm_mmu.h | 16 + arch/arm/kernel/traps.c | 5 +- arch/arm/lib/getuser.S | 10 + arch/arm/probes/kprobes/opt-arm.c | 4 +- arch/arm64/include/asm/kvm_mmu.h | 16 + arch/powerpc/kernel/setup-common.c | 11 - arch/powerpc/platforms/powernv/opal-nvram.c | 14 +- arch/s390/kernel/irq.c | 5 +- arch/s390/kernel/perf_cpum_sf.c | 4 + arch/x86/boot/compressed/eboot.c | 6 +- arch/x86/include/asm/cpufeatures.h | 20 +- arch/x86/include/asm/kvm_host.h | 2 +- arch/x86/include/asm/mmu_context.h | 2 +- arch/x86/include/asm/msr-index.h | 10 + arch/x86/include/asm/nospec-branch.h | 43 ++- arch/x86/include/asm/pkeys.h | 18 +- arch/x86/include/asm/spec-ctrl.h | 80 +++++ arch/x86/include/asm/thread_info.h | 6 +- arch/x86/include/asm/tlbflush.h | 10 + arch/x86/kernel/cpu/amd.c | 38 +- arch/x86/kernel/cpu/bugs.c | 397 ++++++++++++++++++++- arch/x86/kernel/cpu/common.c | 77 +++- arch/x86/kernel/cpu/cpu.h | 3 + arch/x86/kernel/cpu/intel.c | 3 + arch/x86/kernel/process.c | 224 +++++++++--- arch/x86/kernel/smpboot.c | 5 + arch/x86/kvm/cpuid.c | 21 +- arch/x86/kvm/cpuid.h | 17 +- arch/x86/kvm/svm.c | 64 ++-- arch/x86/kvm/vmx.c | 33 +- arch/x86/kvm/x86.c | 13 +- arch/x86/mm/pkeys.c | 21 +- arch/x86/xen/enlighten.c | 4 +- arch/x86/xen/mmu.c | 4 - drivers/base/cpu.c | 8 + drivers/i2c/busses/i2c-designware-core.c | 5 +- drivers/s390/cio/qdio_setup.c | 12 +- drivers/spi/spi-bcm-qspi.c | 28 +- drivers/spi/spi-pxa2xx.h | 2 +- drivers/usb/usbip/stub.h | 2 + drivers/usb/usbip/stub_dev.c | 43 ++- drivers/usb/usbip/stub_main.c | 105 +++++- fs/btrfs/ctree.c | 6 +- fs/btrfs/tree-log.c | 7 + fs/btrfs/volumes.c | 9 + fs/proc/array.c | 27 +- include/linux/cpu.h | 2 + include/linux/efi.h | 8 +- include/linux/nospec.h | 10 + include/linux/sched.h | 9 + include/linux/seccomp.h | 3 +- include/linux/signal.h | 17 + include/trace/events/xen.h | 16 - include/uapi/linux/prctl.h | 12 + include/uapi/linux/seccomp.h | 4 +- kernel/seccomp.c | 21 +- kernel/signal.c | 7 + kernel/sys.c | 23 ++ kernel/time/tick-broadcast.c | 8 + mm/Kconfig | 1 + net/netfilter/nf_tables_api.c | 59 +-- sound/core/control_compat.c | 3 +- sound/pci/hda/hda_intel.c | 2 + sound/usb/mixer.c | 8 + tools/testing/selftests/seccomp/seccomp_bpf.c | 78 +++- virt/kvm/arm/vgic/vgic-its.c | 15 +- 71 files changed, 1611 insertions(+), 309 deletions(-)