[PATCH 4.9 00/96] 4.9.77-stable review

From: Greg Kroah-Hartman
Date: Mon Jan 15 2018 - 08:49:50 EST


This is the start of the stable review cycle for the 4.9.77 release.
There are 96 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 Jan 17 12:33:26 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.77-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.77-rc1

Thomas Gleixner <tglx@xxxxxxxxxxxxx>
x86/retpoline: Remove compile time warning

Andy Lutomirski <luto@xxxxxxxxxx>
selftests/x86: Add test_vsyscall

David Woodhouse <dwmw@xxxxxxxxxxxx>
x86/retpoline: Fill return stack buffer on vmexit

Andi Kleen <ak@xxxxxxxxxxxxxxx>
x86/retpoline/irq32: Convert assembler indirect jumps

David Woodhouse <dwmw@xxxxxxxxxxxx>
x86/retpoline/checksum32: Convert assembler indirect jumps

David Woodhouse <dwmw@xxxxxxxxxxxx>
x86/retpoline/xen: Convert Xen hypercall indirect jumps

David Woodhouse <dwmw@xxxxxxxxxxxx>
x86/retpoline/hyperv: Convert assembler indirect jumps

David Woodhouse <dwmw@xxxxxxxxxxxx>
x86/retpoline/ftrace: Convert ftrace assembler indirect jumps

David Woodhouse <dwmw@xxxxxxxxxxxx>
x86/retpoline/entry: Convert entry assembler indirect jumps

David Woodhouse <dwmw@xxxxxxxxxxxx>
x86/retpoline/crypto: Convert crypto assembler indirect jumps

David Woodhouse <dwmw@xxxxxxxxxxxx>
x86/spectre: Add boot time option to select Spectre v2 mitigation

David Woodhouse <dwmw@xxxxxxxxxxxx>
x86/retpoline: Add initial retpoline support

Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>
x86/asm: Use register variable to get stack pointer value

Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
objtool: Allow alternatives to be ignored

Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
objtool: Detect jumps to retpoline thunks

Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
objtool, modules: Discard objtool annotation sections for modules

Andy Lutomirski <luto@xxxxxxxxxx>
x86/mm/32: Move setup_clear_cpu_cap(X86_FEATURE_PCID) earlier

David Woodhouse <dwmw@xxxxxxxxxxxx>
x86/alternatives: Add missing '\n' at end of ALTERNATIVE inline asm

Borislav Petkov <bp@xxxxxxx>
x86/alternatives: Fix optimize_nops() checking

David Woodhouse <dwmw@xxxxxxxxxxxx>
sysfs/cpu: Fix typos in vulnerability documentation

Tom Lendacky <thomas.lendacky@xxxxxxx>
x86/cpu/AMD: Use LFENCE_RDTSC in preference to MFENCE_RDTSC

Tom Lendacky <thomas.lendacky@xxxxxxx>
x86/cpu/AMD: Make LFENCE a serializing instruction

Thomas Gleixner <tglx@xxxxxxxxxxxxx>
x86/cpu: Implement CPU vulnerabilites sysfs functions

Thomas Gleixner <tglx@xxxxxxxxxxxxx>
sysfs/cpu: Add vulnerability folder

Borislav Petkov <bp@xxxxxxx>
x86/cpu: Merge bugs.c and bugs_64.c

David Woodhouse <dwmw@xxxxxxxxxxxx>
x86/cpufeatures: Add X86_BUG_SPECTRE_V[12]

Thomas Gleixner <tglx@xxxxxxxxxxxxx>
x86/pti: Rename BUG_CPU_INSECURE to BUG_CPU_MELTDOWN

Thomas Gleixner <tglx@xxxxxxxxxxxxx>
x86/cpufeatures: Add X86_BUG_CPU_INSECURE

Thomas Gleixner <tglx@xxxxxxxxxxxxx>
x86/cpufeatures: Make CPU bugs sticky

Andy Lutomirski <luto@xxxxxxxxxx>
x86/cpu: Factor out application of forced CPU caps

Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
x86/Documentation: Add PTI description

Benjamin Poirier <bpoirier@xxxxxxxx>
e1000e: Fix e1000_check_for_copper_link_ich8lan return value.

Icenowy Zheng <icenowy@xxxxxxx>
uas: ignore UAS for Norelsys NS1068(X) chips

Ben Seri <ben@xxxxxxxxx>
Bluetooth: Prevent stack info leak from the EFS element.

Viktor Slavkovic <viktors@xxxxxxxxxx>
staging: android: ashmem: fix a race condition in ASHMEM_SET_SIZE ioctl

Shuah Khan <shuah@xxxxxxxxxx>
usbip: vudc_tx: fix v_send_ret_submit() vulnerability to null xfer buffer

Shuah Khan <shuah@xxxxxxxxxx>
usbip: fix vudc_rx: harden CMD_SUBMIT path to handle malicious input

Shuah Khan <shuah@xxxxxxxxxx>
usbip: remove kernel addresses from usb device and urb debug msgs

Pete Zaitcev <zaitcev@xxxxxxxxxx>
USB: fix usbmon BUG trigger

Stefan Agner <stefan@xxxxxxxx>
usb: misc: usb3503: make sure reset is low for at least 100us

Christian Holl <cyborgx1@xxxxxxxxx>
USB: serial: cp210x: add new device ID ELV ALC 8xxx

Diego Elio Pettenà <flameeyes@xxxxxxxxxxxx>
USB: serial: cp210x: add IDs for LifeScan OneTouch Verio IQ

Daniel Borkmann <daniel@xxxxxxxxxxxxx>
bpf, array: fix overflow in max_entries and undefined behavior in index_mask

Alexei Starovoitov <ast@xxxxxxxxxx>
bpf: prevent out-of-bounds speculation

Alexei Starovoitov <ast@xxxxxx>
bpf: refactor fixup_bpf_calls()

Alexei Starovoitov <ast@xxxxxx>
bpf: move fixup_bpf_calls() function

Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK

Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref

Lepton Wu <ytht.net@xxxxxxxxx>
kaiser: Set _PAGE_NX only if supported

Dan Carpenter <dan.carpenter@xxxxxxxxxx>
drm/vmwgfx: Potential off by one in vmw_view_add()

Andrew Honig <ahonig@xxxxxxxxxx>
KVM: x86: Add memory barrier on vmcs field lookup

Jia Zhang <qianyue.zj@xxxxxxxxxxxxxxx>
x86/microcode/intel: Extend BDW late-loading with a revision check

Ilya Dryomov <idryomov@xxxxxxxxx>
rbd: set max_segments to USHRT_MAX

Eric Biggers <ebiggers@xxxxxxxxxx>
crypto: algapi - fix NULL dereference in crypto_remove_spawns()

Roi Dayan <roid@xxxxxxxxxxxx>
net/sched: Fix update of lastuse in act modules implementing stats_update

Ido Schimmel <idosch@xxxxxxxxxxxx>
mlxsw: spectrum_router: Fix NULL pointer deref

Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
ethtool: do not print warning for applications using legacy API

Eric Dumazet <edumazet@xxxxxxxxxx>
ipv6: fix possible mem leaks in ipv6_make_skb()

Jerome Brunet <jbrunet@xxxxxxxxxxxx>
net: stmmac: enable EEE in MII, GMII or RGMII only

Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
sh_eth: fix SH7757 GEther initialization

Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
sh_eth: fix TSU resource handling

Mohamed Ghannam <simo.ghannam@xxxxxxxxx>
RDS: null pointer dereference in rds_atomic_free_op

Mohamed Ghannam <simo.ghannam@xxxxxxxxx>
RDS: Heap OOB write in rds_message_alloc_sgs()

Andrii Vladyka <tulup@xxxxxxx>
net: core: fix module type in sock_diag_bind

Eli Cooper <elicooper@xxxxxxx>
ip6_tunnel: disable dst caching if tunnel is dual-stack

Cong Wang <xiyou.wangcong@xxxxxxxxx>
8021q: fix a memory leak for VLAN 0 device

Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx>
xhci: Fix ring leak in failure path of xhci_alloc_virt_device()

Eric Dumazet <edumazet@xxxxxxxxxx>
cx82310_eth: use skb_cow_head() to deal with cloned skbs

Eric Dumazet <edumazet@xxxxxxxxxx>
smsc75xx: use skb_cow_head() to deal with cloned skbs

Eric Dumazet <edumazet@xxxxxxxxxx>
sr9700: use skb_cow_head() to deal with cloned skbs

Eric Dumazet <edumazet@xxxxxxxxxx>
lan78xx: use skb_cow_head() to deal with cloned skbs

Dan Streetman <ddstreet@xxxxxxxx>
zswap: don't param_set_charp while holding spinlock

Vikas C Sajjan <vikas.cha.sajjan@xxxxxxx>
x86/acpi: Reduce code duplication in mp_override_legacy_irq()

Takashi Iwai <tiwai@xxxxxxx>
ALSA: aloop: Fix racy hw constraints adjustment

Takashi Iwai <tiwai@xxxxxxx>
ALSA: aloop: Fix inconsistent format due to incomplete rule

Takashi Iwai <tiwai@xxxxxxx>
ALSA: aloop: Release cable upon open error path

Takashi Iwai <tiwai@xxxxxxx>
ALSA: pcm: Allow aborting mutex lock at OSS read/write loops

Takashi Iwai <tiwai@xxxxxxx>
ALSA: pcm: Abort properly at pending signal in OSS read/write loops

Takashi Iwai <tiwai@xxxxxxx>
ALSA: pcm: Add missing error checks in OSS emulation plugin builder

Takashi Iwai <tiwai@xxxxxxx>
ALSA: pcm: Remove incorrect snd_BUG_ON() usages

Vikas C Sajjan <vikas.cha.sajjan@xxxxxxx>
x86/acpi: Handle SCI interrupts above legacy space gracefully

Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
platform/x86: wmi: Call acpi_wmi_init() later

Jim Mattson <jmattson@xxxxxxxxxx>
kvm: vmx: Scrub hardware GPRs at VM-exit

Maciej W. Rozycki <macro@xxxxxxxx>
MIPS: Disallow outsized PTRACE_SETREGSET NT_PRFPREG regset accesses

Maciej W. Rozycki <macro@xxxxxxxx>
MIPS: Also verify sizeof `elf_fpreg_t' with PTRACE_SETREGSET

Maciej W. Rozycki <macro@xxxxxxxx>
MIPS: Fix an FCSR access API regression with NT_PRFPREG and MSA

Maciej W. Rozycki <macro@xxxxxxxx>
MIPS: Consistently handle buffer counter with PTRACE_SETREGSET

Maciej W. Rozycki <macro@xxxxxxxx>
MIPS: Guard against any partial write attempt with PTRACE_SETREGSET

Maciej W. Rozycki <macro@xxxxxxxx>
MIPS: Factor out NT_PRFPREG regset access helpers

Maciej W. Rozycki <macro@xxxxxxxx>
MIPS: Validate PR_SET_FP_MODE prctl(2) requests against the ABI of the task

Bart Van Assche <bart.vanassche@xxxxxxx>
IB/srpt: Disable RDMA access by the initiator

Wolfgang Grandegger <wg@xxxxxxxxxxxxxx>
can: gs_usb: fix return value of the "set_bittiming" callback

Wanpeng Li <wanpeng.li@xxxxxxxxxxx>
KVM: Fix stack-out-of-bounds read in write_mmio

Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx>
ath10k: rebuild crypto header in rx data frames

David Spinadel <david.spinadel@xxxxxxxxx>
mac80211: Add RX flag to indicate ICV stripped

Suren Baghdasaryan <surenb@xxxxxxxxxx>
dm bufio: fix shrinker scans when (nr_to_scan < retain_target)


-------------

Diffstat:

Documentation/ABI/testing/sysfs-devices-system-cpu | 16 +
Documentation/kernel-parameters.txt | 49 +-
Documentation/x86/pti.txt | 186 ++++++++
Makefile | 4 +-
arch/arm/kvm/mmio.c | 6 +-
arch/mips/kernel/process.c | 12 +
arch/mips/kernel/ptrace.c | 147 ++++--
arch/x86/Kconfig | 14 +
arch/x86/Makefile | 8 +
arch/x86/crypto/aesni-intel_asm.S | 5 +-
arch/x86/crypto/camellia-aesni-avx-asm_64.S | 3 +-
arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 3 +-
arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 3 +-
arch/x86/entry/entry_32.S | 10 +-
arch/x86/entry/entry_64.S | 10 +-
arch/x86/include/asm/alternative.h | 4 +-
arch/x86/include/asm/asm-prototypes.h | 25 ++
arch/x86/include/asm/asm.h | 11 +
arch/x86/include/asm/cpufeature.h | 2 +
arch/x86/include/asm/cpufeatures.h | 6 +
arch/x86/include/asm/msr-index.h | 3 +
arch/x86/include/asm/nospec-branch.h | 214 +++++++++
arch/x86/include/asm/processor.h | 4 +-
arch/x86/include/asm/thread_info.h | 11 -
arch/x86/include/asm/xen/hypercall.h | 5 +-
arch/x86/kernel/acpi/boot.c | 61 ++-
arch/x86/kernel/alternative.c | 7 +-
arch/x86/kernel/cpu/Makefile | 4 +-
arch/x86/kernel/cpu/amd.c | 28 +-
arch/x86/kernel/cpu/bugs.c | 219 ++++++++-
arch/x86/kernel/cpu/bugs_64.c | 33 --
arch/x86/kernel/cpu/common.c | 39 +-
arch/x86/kernel/cpu/microcode/intel.c | 13 +-
arch/x86/kernel/irq_32.c | 15 +-
arch/x86/kernel/mcount_64.S | 7 +-
arch/x86/kernel/traps.c | 2 +-
arch/x86/kvm/svm.c | 23 +
arch/x86/kvm/vmx.c | 30 +-
arch/x86/kvm/x86.c | 8 +-
arch/x86/lib/Makefile | 1 +
arch/x86/lib/checksum_32.S | 7 +-
arch/x86/lib/retpoline.S | 48 ++
arch/x86/mm/kaiser.c | 2 +
arch/x86/mm/tlb.c | 2 +-
crypto/algapi.c | 12 +
drivers/base/Kconfig | 3 +
drivers/base/cpu.c | 48 ++
drivers/block/rbd.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 2 +
drivers/hv/hv.c | 11 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 3 +-
drivers/md/dm-bufio.c | 7 +-
drivers/net/can/usb/gs_usb.c | 2 +-
drivers/net/ethernet/intel/e1000e/ich8lan.c | 11 +-
.../net/ethernet/mellanox/mlxsw/spectrum_router.c | 4 +-
drivers/net/ethernet/renesas/sh_eth.c | 29 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 6 +
drivers/net/usb/cx82310_eth.c | 7 +-
drivers/net/usb/lan78xx.c | 9 +-
drivers/net/usb/smsc75xx.c | 8 +-
drivers/net/usb/sr9700.c | 9 +-
drivers/net/wireless/ath/ath10k/htt_rx.c | 105 ++++-
drivers/net/wireless/ath/ath10k/rx_desc.h | 3 +
drivers/platform/x86/wmi.c | 2 +-
drivers/staging/android/ashmem.c | 2 +
drivers/target/iscsi/iscsi_target.c | 20 +-
drivers/target/target_core_tmr.c | 9 +
drivers/target/target_core_transport.c | 2 +
drivers/usb/host/xhci-mem.c | 3 +-
drivers/usb/misc/usb3503.c | 2 +
drivers/usb/mon/mon_bin.c | 8 +-
drivers/usb/serial/cp210x.c | 2 +
drivers/usb/storage/unusual_uas.h | 7 +
drivers/usb/usbip/usbip_common.c | 17 +-
drivers/usb/usbip/vudc_rx.c | 19 +
drivers/usb/usbip/vudc_tx.c | 11 +-
include/linux/bpf.h | 2 +
include/linux/bpf_verifier.h | 5 +-
include/linux/cpu.h | 7 +
include/linux/frame.h | 2 +-
include/linux/phy.h | 11 +
include/linux/sh_eth.h | 1 -
include/net/mac80211.h | 5 +-
include/target/target_core_base.h | 1 +
include/trace/events/kvm.h | 7 +-
kernel/bpf/arraymap.c | 45 +-
kernel/bpf/syscall.c | 54 ---
kernel/bpf/verifier.c | 89 +++-
mm/zswap.c | 12 +-
net/8021q/vlan.c | 7 +-
net/bluetooth/l2cap_core.c | 20 +-
net/core/ethtool.c | 15 +-
net/core/sock_diag.c | 2 +-
net/ipv6/ip6_output.c | 5 +-
net/ipv6/ip6_tunnel.c | 9 +-
net/mac80211/wep.c | 3 +-
net/mac80211/wpa.c | 3 +-
net/rds/rdma.c | 4 +
net/sched/act_gact.c | 2 +-
net/sched/act_mirred.c | 2 +-
scripts/mod/modpost.c | 1 +
scripts/module-common.lds | 5 +-
sound/core/oss/pcm_oss.c | 41 +-
sound/core/oss/pcm_plugin.c | 14 +-
sound/core/pcm_lib.c | 4 +-
sound/drivers/aloop.c | 98 ++--
tools/objtool/builtin-check.c | 73 ++-
tools/testing/selftests/x86/test_vsyscall.c | 500 +++++++++++++++++++++
108 files changed, 2286 insertions(+), 458 deletions(-)