[PATCH 4.9 00/76] 4.9.169-stable review

From: Greg Kroah-Hartman
Date: Mon Apr 15 2019 - 14:52:01 EST


This is the start of the stable review cycle for the 4.9.169 release.
There are 76 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 Apr 17 18:36:37 UTC 2019.
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.169-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.169-rc1

Andre Przywara <andre.przywara@xxxxxxx>
PCI: Add function 1 DMA alias quirk for Marvell 9170 SATA controller

Max Filippov <jcmvbkbc@xxxxxxxxx>
xtensa: fix return_address

Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
sched/fair: Do not re-read ->h_load_next during hierarchical load calculation

Dan Carpenter <dan.carpenter@xxxxxxxxxx>
xen: Prevent buffer overflow in privcmd ioctl

Will Deacon <will.deacon@xxxxxxx>
arm64: futex: Fix FUTEX_WAKE_OP atomic ops with non-zero result value

David Engraf <david.engraf@xxxxxxxxx>
ARM: dts: at91: Fix typo in ISC_D0 on PC9

Cornelia Huck <cohuck@xxxxxxxxxx>
virtio: Honour 'may_reduce_num' in vring_create_virtqueue

Stephen Boyd <swboyd@xxxxxxxxxxxx>
genirq: Respect IRQCHIP_SKIP_SET_WAKE in irq_chip_set_wake_parent()

JÃrÃme Glisse <jglisse@xxxxxxxxxx>
block: do not leak memory in bio_copy_user_iov()

Filipe Manana <fdmanana@xxxxxxxx>
Btrfs: do not allow trimming when a fs is mounted with the nologreplay option

S.j. Wang <shengjiu.wang@xxxxxxx>
ASoC: fsl_esai: fix channel swap issue when stream starts

Arnd Bergmann <arnd@xxxxxxxx>
include/linux/bitrev.h: fix constant bitrev

Helge Deller <deller@xxxxxx>
parisc: Detect QEMU earlier in boot process

Zubin Mithra <zsm@xxxxxxxxxxxx>
ALSA: seq: Fix OOB-reads from strlcpy

Sheena Mira-ato <sheena.mira-ato@xxxxxxxxxxxxxxxxxxx>
ip6_tunnel: Match to ARPHRD_TUNNEL6 for dev type

Li RongQing <lirongqing@xxxxxxxxx>
net: ethtool: not call vzalloc for zero sized memory request

Eric Dumazet <edumazet@xxxxxxxxxx>
netns: provide pure entropy for net_hash_mix()

Yuval Avnery <yuvalav@xxxxxxxxxxxx>
net/mlx5e: Add a lock on tir list

Michael Chan <michael.chan@xxxxxxxxxxxx>
bnxt_en: Improve RX consumer index validity check.

Michael Chan <michael.chan@xxxxxxxxxxxx>
bnxt_en: Reset device on RX buffer errors.

Stephen Suryaputra <ssuryaextr@xxxxxxxxx>
vrf: check accept_source_route on the original netdevice

Koen De Schepper <koen.de_schepper@xxxxxxxxxxxxxxxxxxx>
tcp: Ensure DCTCP reacts to losses

Xin Long <lucien.xin@xxxxxxxxx>
sctp: initialize _pad of sockaddr_in before copying to user memory

BjÃrn Mork <bjorn@xxxxxxx>
qmi_wwan: add Olicard 600

Andrea Righi <andrea.righi@xxxxxxxxxxxxx>
openvswitch: fix flow actions reallocation

Mao Wenan <maowenan@xxxxxxxxxx>
net: rds: force to destroy connection if t_sock is NULL in rds_tcp_kill_sock().

Jiri Slaby <jslaby@xxxxxxx>
kcm: switch order of device registration to fix a crash

Lorenzo Bianconi <lorenzo.bianconi@xxxxxxxxxx>
ipv6: sit: reset ip header pointer in ipip6_rcv

Junwei Hu <hujunwei4@xxxxxxxxxx>
ipv6: Fix dangling pointer when ipv6 fragment

Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
tty: ldisc: add sysctl to prevent autoloading of ldiscs

Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
tty: mark Siemens R3964 line discipline as BROKEN

Yueyi Li <liyueyi@xxxxxxxx>
arm64: kaslr: Reserve size of ARM64_MEMSTART_ALIGN in linear region

Michael Ellerman <mpe@xxxxxxxxxxxxxx>
powerpc/security: Fix spectre_v2 reporting

Christophe Leroy <christophe.leroy@xxxxxx>
powerpc/fsl: Fix the flush of branch predictor.

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Fixed warning: orphan section `__btb_flush_fixup'

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Update Spectre v2 reporting

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Enable runtime patching if nospectre_v2 boot arg is used

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Flush branch predictor when entering KVM

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Flush the branch predictor at each kernel entry (32 bit)

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Flush the branch predictor at each kernel entry (64bit)

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Add nospectre_v2 command line argument

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Emulate SPRN_BUCSR register

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Fix spectre_v2 mitigations reporting

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Add macro to flush the branch predictor

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Add infrastructure to fixup branch predictor flush

Michael Ellerman <mpe@xxxxxxxxxxxxxx>
powerpc/powernv: Query firmware for count cache flush settings

Michael Ellerman <mpe@xxxxxxxxxxxxxx>
powerpc/pseries: Query hypervisor for count cache flush settings

Michael Ellerman <mpe@xxxxxxxxxxxxxx>
powerpc/64s: Add support for software count cache flush

Michael Ellerman <mpe@xxxxxxxxxxxxxx>
powerpc/64s: Add new security feature flags for count cache flush

Michael Ellerman <mpe@xxxxxxxxxxxxxx>
powerpc/asm: Add a patch_site macro & helpers for patching instructions

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Sanitize the syscall table for NXP PowerPC 32 bit platforms

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/fsl: Add barrier_nospec implementation for NXP PowerPC Book3E

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/64: Make meltdown reporting Book3S 64 specific

Michael Ellerman <mpe@xxxxxxxxxxxxxx>
powerpc/64: Call setup_barrier_nospec() from setup_arch()

Michael Ellerman <mpe@xxxxxxxxxxxxxx>
powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/64: Make stf barrier PPC_BOOK3S_64 specific.

Diana Craciun <diana.craciun@xxxxxxx>
powerpc/64: Disable the speculation barrier from the command line

Michael Ellerman <mpe@xxxxxxxxxxxxxx>
powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2

Michal Suchanek <msuchanek@xxxxxxx>
powerpc/64s: Enhance the information in cpu_show_spectre_v1()

Michael Ellerman <mpe@xxxxxxxxxxxxxx>
powerpc/64: Use barrier_nospec in syscall entry

Michael Ellerman <mpe@xxxxxxxxxxxxxx>
powerpc: Use barrier_nospec in copy_from_user()

Michal Suchanek <msuchanek@xxxxxxx>
powerpc/64s: Enable barrier_nospec based on firmware settings

Michal Suchanek <msuchanek@xxxxxxx>
powerpc/64s: Patch barrier_nospec in modules

Michael Neuling <mikey@xxxxxxxxxxx>
powerpc: Avoid code patching freed init sections

Michal Suchanek <msuchanek@xxxxxxx>
powerpc/64s: Add support for ori barrier_nospec patching

Michal Suchanek <msuchanek@xxxxxxx>
powerpc/64s: Add barrier_nospec

Andreas Schwab <schwab@xxxxxxxxxxxxxx>
powerpc: Fix invalid use of register expressions

Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
lib/string.c: implement a basic bcmp

Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
x86/vdso: Drop implicit common-page-size linker flag

Alistair Strachan <astrachan@xxxxxxxxxx>
x86: vdso: Use $LD instead of $CC to link

Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD

Breno Leitao <leitao@xxxxxxxxxx>
powerpc/tm: Limit TM code inside PPC_TRANSACTIONAL_MEM

Andy Lutomirski <luto@xxxxxxxxxx>
x86/power: Make restore_processor_context() sane

Andy Lutomirski <luto@xxxxxxxxxx>
x86/power/32: Move SYSENTER MSR restoration to fix_processor_context()

Andy Lutomirski <luto@xxxxxxxxxx>
x86/power/64: Use struct desc_ptr for the IDT in struct saved_context

Andy Lutomirski <luto@xxxxxxxxxx>
x86/power: Fix some ordering bugs in __restore_processor_context()


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

Diffstat:

Makefile | 6 +-
arch/arm/boot/dts/sama5d2-pinfunc.h | 2 +-
arch/arm64/include/asm/futex.h | 16 +-
arch/arm64/mm/init.c | 2 +-
arch/parisc/kernel/process.c | 6 -
arch/parisc/kernel/setup.c | 3 +
arch/powerpc/Kconfig | 7 +-
arch/powerpc/include/asm/asm-prototypes.h | 6 +
arch/powerpc/include/asm/barrier.h | 21 ++
arch/powerpc/include/asm/code-patching-asm.h | 18 ++
arch/powerpc/include/asm/code-patching.h | 2 +
arch/powerpc/include/asm/feature-fixups.h | 21 ++
arch/powerpc/include/asm/hvcall.h | 2 +
arch/powerpc/include/asm/ppc_asm.h | 23 ++-
arch/powerpc/include/asm/security_features.h | 7 +
arch/powerpc/include/asm/setup.h | 21 ++
arch/powerpc/include/asm/uaccess.h | 11 +-
arch/powerpc/kernel/Makefile | 3 +-
arch/powerpc/kernel/entry_32.S | 10 +
arch/powerpc/kernel/entry_64.S | 69 +++++++
arch/powerpc/kernel/exceptions-64e.S | 27 ++-
arch/powerpc/kernel/head_booke.h | 12 ++
arch/powerpc/kernel/head_fsl_booke.S | 15 ++
arch/powerpc/kernel/module.c | 10 +-
arch/powerpc/kernel/security.c | 216 ++++++++++++++++++++-
arch/powerpc/kernel/setup-common.c | 3 +
arch/powerpc/kernel/signal_64.c | 23 ++-
arch/powerpc/kernel/swsusp_asm64.S | 2 +-
arch/powerpc/kernel/vmlinux.lds.S | 19 +-
arch/powerpc/kvm/bookehv_interrupts.S | 4 +
arch/powerpc/kvm/e500_emulate.c | 7 +
arch/powerpc/lib/code-patching.c | 24 +++
arch/powerpc/lib/copypage_power7.S | 14 +-
arch/powerpc/lib/copyuser_power7.S | 66 +++----
arch/powerpc/lib/feature-fixups.c | 93 +++++++++
arch/powerpc/lib/memcpy_power7.S | 66 +++----
arch/powerpc/lib/string_64.S | 2 +-
arch/powerpc/mm/mem.c | 2 +
arch/powerpc/mm/tlb_low_64e.S | 7 +
arch/powerpc/platforms/powernv/setup.c | 7 +
arch/powerpc/platforms/pseries/setup.c | 7 +
arch/x86/entry/vdso/Makefile | 22 +--
arch/x86/include/asm/suspend_32.h | 8 +-
arch/x86/include/asm/suspend_64.h | 19 +-
arch/x86/include/asm/xen/hypercall.h | 3 +
arch/x86/power/cpu.c | 96 ++++-----
arch/xtensa/kernel/stacktrace.c | 6 +-
block/bio.c | 5 +-
drivers/char/Kconfig | 2 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 14 +-
.../net/ethernet/mellanox/mlx5/core/en_common.c | 7 +
drivers/net/usb/qmi_wwan.c | 1 +
drivers/pci/quirks.c | 2 +
drivers/tty/Kconfig | 23 +++
drivers/tty/tty_io.c | 3 +
drivers/tty/tty_ldisc.c | 47 +++++
drivers/virtio/virtio_ring.c | 2 +
fs/btrfs/ioctl.c | 10 +
include/linux/bitrev.h | 36 ++--
include/linux/mlx5/driver.h | 2 +
include/linux/string.h | 3 +
include/linux/virtio_ring.h | 2 +-
include/net/ip.h | 2 +-
include/net/net_namespace.h | 1 +
include/net/netns/hash.h | 15 +-
kernel/irq/chip.c | 4 +
kernel/sched/fair.c | 6 +-
lib/string.c | 20 ++
net/core/ethtool.c | 47 +++--
net/core/net_namespace.c | 1 +
net/ipv4/ip_input.c | 7 +-
net/ipv4/ip_options.c | 4 +-
net/ipv4/tcp_dctcp.c | 36 ++--
net/ipv6/ip6_output.c | 4 +-
net/ipv6/ip6_tunnel.c | 4 +-
net/ipv6/sit.c | 4 +
net/kcm/kcmsock.c | 16 +-
net/openvswitch/flow_netlink.c | 4 +-
net/rds/tcp.c | 2 +-
net/sctp/protocol.c | 1 +
sound/core/seq/seq_clientmgr.c | 6 +-
sound/soc/fsl/fsl_esai.c | 47 ++++-
82 files changed, 1138 insertions(+), 288 deletions(-)