[PATCH 4.9 00/87] 4.9.102-stable review

From: Greg Kroah-Hartman
Date: Mon May 21 2018 - 16:20:04 EST


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