This is the start of the stable review cycle for the 4.9.17 release. There are 93 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 Mar 22 17:47:16 UTC 2017. 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.17-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.17-rc1 Daniel Axtens <dja@xxxxxxxxxx> crypto: powerpc - Fix initialisation of crc32c context Niklas Cassel <niklas.cassel@xxxxxxxx> locking/rwsem: Fix down_write_killable() for CONFIG_RWSEM_GENERIC_SPINLOCK=y Peter Zijlstra <peterz@xxxxxxxxxxxxx> futex: Add missing error handling to FUTEX_REQUEUE_PI Peter Zijlstra <peterz@xxxxxxxxxxxxx> futex: Fix potential use-after-free in FUTEX_REQUEUE_PI Andy Lutomirski <luto@xxxxxxxxxx> x86/perf: Fix CR4.PCE propagation to use active_mm instead of mm Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> x86/kasan: Fix boot with KASAN=y and PROFILE_ANNOTATED_BRANCHES=y Peter Zijlstra <peterz@xxxxxxxxxxxxx> x86/tsc: Fix ART for TSC_KNOWN_FREQ Shanker Donthineni <shankerd@xxxxxxxxxxxxxx> irqchip/gicv3-its: Add workaround for QDF2400 ITS erratum 0065 Marc Zyngier <marc.zyngier@xxxxxxx> arm64: KVM: VHE: Clear HCR_TGE when invalidating guest TLBs Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> drm/vc4: Fix ->clock_select setting for the VEC encoder Derek Foreman <derekf@xxxxxxxxxxxxxxx> drm/vc4: Fix race between page flip completion event and clean-up Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> clk: bcm2835: Fix ->fixed_divider of pllh_aux Michael Ellerman <mpe@xxxxxxxxxxxxxx> powerpc/mm: Fix build break when CMA=n && SPAPR_TCE_IOMMU=y Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> usb: gadget: udc: atmel: remove memory leak Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> serial: 8250_pci: Detach low-level driver during PCI error recovery Michael Pobega <mpobega@xxxxxxxxxxxxx> ACPI / blacklist: Make Dell Latitude 3350 ethernet work Alex Hung <alex.hung@xxxxxxxxxxxxx> ACPI / blacklist: add _REV quirks for Dell Precision 5520 and 3520 Vladimir Davydov <vdavydov.dev@xxxxxxxxx> slub: move synchronize_sched out of slab_mutex on shrink Henrik Ingo <henrik.ingo@xxxxxxxxxxxxx> uvcvideo: uvc_scan_fallback() for webcams with broken chain Harald Freudenberger <freude@xxxxxxxxxxxxxxxxxx> s390/zcrypt: Introduce CEX6 toleration Mauricio Faria de Oliveira <mauricfo@xxxxxxxxxxxxxxxxxx> block: allow WRITE_SAME commands with the SG_IO ioctl Ben Skeggs <bskeggs@xxxxxxxxxx> drm/nouveau/disp/nv50-: specify ctrl/user separately when constructing classes Ben Skeggs <bskeggs@xxxxxxxxxx> drm/nouveau/disp/nv50-: split chid into chid.ctrl and chid.user Ben Skeggs <bskeggs@xxxxxxxxxx> drm/nouveau/disp/gp102: fix cursor/overlay immediate channel indices Alexey Kardashevskiy <aik@xxxxxxxxx> vfio/spapr: Postpone default window creation Alexey Kardashevskiy <aik@xxxxxxxxx> vfio/spapr: Add a helper to create default DMA window Alexey Kardashevskiy <aik@xxxxxxxxx> powerpc/mm/iommu, vfio/spapr: Put pages on VFIO container shutdown Alexey Kardashevskiy <aik@xxxxxxxxx> vfio/spapr: Reference mm in tce_container Alexey Kardashevskiy <aik@xxxxxxxxx> powerpc/iommu: Stop using @current in mm_iommu_xxx Alexey Kardashevskiy <aik@xxxxxxxxx> powerpc/iommu: Pass mm_struct to init/cleanup helpers Alexey Kardashevskiy <aik@xxxxxxxxx> vfio/spapr: Postpone allocation of userspace version of TCE table Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Drivers: hv: ring_buffer: count on wrap around mappings in get_next_pkt_raw() (v2) Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> ibmveth: calculate gso_segs for large packets Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> PCI: Do any VF BAR updates before enabling the BARs Bjorn Helgaas <bhelgaas@xxxxxxxxxx> PCI: Ignore BAR updates on virtual functions Bjorn Helgaas <bhelgaas@xxxxxxxxxx> PCI: Update BARs using property bits appropriate for type Bjorn Helgaas <bhelgaas@xxxxxxxxxx> PCI: Don't update VF BARs while VF memory space is enabled Bjorn Helgaas <bhelgaas@xxxxxxxxxx> PCI: Decouple IORESOURCE_ROM_ENABLE and PCI_ROM_ADDRESS_ENABLE Bjorn Helgaas <bhelgaas@xxxxxxxxxx> PCI: Add comments about ROM BAR updating Bjorn Helgaas <bhelgaas@xxxxxxxxxx> PCI: Remove pci_resource_bar() and pci_iov_resource_bar() Bjorn Helgaas <bhelgaas@xxxxxxxxxx> PCI: Separate VF BAR updates from standard BAR updates Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> x86/hyperv: Handle unknown NMIs on one CPU when unknown_nmi_panic Michael Cyr <mikecyr@xxxxxxxxxx> scsi: ibmvscsis: Synchronize cmds at remove time Michael Cyr <mikecyr@xxxxxxxxxx> scsi: ibmvscsis: Synchronize cmds at tpg_enable_store time Michael Cyr <mikecyr@xxxxxxxxxx> scsi: ibmvscsis: Rearrange functions for future patches Michael Cyr <mikecyr@xxxxxxxxxx> scsi: ibmvscsis: Clean up properly if target_submit_cmd/tmr fails Michael Cyr <mikecyr@xxxxxxxxxx> scsi: ibmvscsis: Return correct partition name/# to client Michael Cyr <mikecyr@xxxxxxxxxx> scsi: ibmvscsis: Issues from Dan Carpenter/Smatch Todd Fujinaka <todd.fujinaka@xxxxxxxxx> igb: add i211 to i210 PHY workaround Chris J Arges <christopherarges@xxxxxxxxx> igb: Workaround for igb i210 firmware issue Dan Streetman <ddstreet@xxxxxxxx> xen: do not re-use pirq number cached in pci device msi msg data Krister Johansen <kjlx@xxxxxxxxxxxxxxxxxx> dmaengine: iota: ioat_alloc_chan_resources should not perform sleeping allocations. Daniel Borkmann <daniel@xxxxxxxxxxxxx> bpf: fix mark_reg_unknown_value for spilled regs on map value marking Daniel Borkmann <daniel@xxxxxxxxxxxxx> bpf: fix regression on verifier pruning wrt map lookups Alexei Starovoitov <ast@xxxxxx> bpf: fix state equivalence Thomas Graf <tgraf@xxxxxxx> bpf: Detect identical PTR_TO_MAP_VALUE_OR_NULL registers Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> dccp: fix memory leak during tear-down of unsuccessful connection request Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> tun: fix premature POLLOUT notification on tun devices Jon Maxwell <jmaxwell37@xxxxxxxxx> dccp/tcp: fix routing redirect race Florian Westphal <fw@xxxxxxxxx> bridge: drop netfilter fake rtable unconditionally Florian Westphal <fw@xxxxxxxxx> ipv6: avoid write to a possibly cloned skb Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> ipv6: make ECMP route replacement less greedy David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> mpls: Do not decrement alive counter for unregister events David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> mpls: Send route delete notifications when router module is unloaded Etienne Noss <etienne.noss@xxxxxxxxxx> act_connmark: avoid crashing on malformed nlattrs with null parms Dmitry V. Levin <ldv@xxxxxxxxxxxx> uapi: fix linux/packet_diag.h userspace compilation error Paolo Abeni <pabeni@xxxxxxxxxx> net/tunnel: set inner protocol in network gro hooks David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> vrf: Fix use-after-free in vrf_xmit Eric Dumazet <edumazet@xxxxxxxxxx> dccp: fix use-after-free in dccp_feat_activate_values Alexey Khoroshilov <khoroshilov@xxxxxxxxx> net/sched: act_skbmod: remove unneeded rcu_read_unlock in tcf_skbmod_dump Eric Dumazet <edumazet@xxxxxxxxxx> net: fix socket refcounting in skb_complete_tx_timestamp() Eric Dumazet <edumazet@xxxxxxxxxx> net: fix socket refcounting in skb_complete_wifi_ack() Eric Dumazet <edumazet@xxxxxxxxxx> tcp: fix various issues for sockets morphing to listen state WANG Cong <xiyou.wangcong@xxxxxxxxx> strparser: destroy workqueue on module exit Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> dccp: Unlock sock before calling sk_free() Eric Dumazet <edumazet@xxxxxxxxxx> ipv6: orphan skbs in reassembly unit Eric Dumazet <edumazet@xxxxxxxxxx> net: net_enable_timestamp() can be called from irq contexts Alexander Potapenko <glider@xxxxxxxxxx> net: don't call strlen() on the user buffer in packet_bind_spkt() Mike Manning <mmanning@xxxxxxxxxxx> net: bridge: allow IPv6 when multicast flood is disabled Eric Dumazet <edumazet@xxxxxxxxxx> tcp/dccp: block BH for SYN processing Ido Schimmel <idosch@xxxxxxxxxxxx> mlxsw: spectrum_router: Avoid potential packets loss Jakub Kicinski <jakub.kicinski@xxxxxxxxxxxxx> geneve: lock RCU on TX path Jakub Kicinski <jakub.kicinski@xxxxxxxxxxxxx> vxlan: lock RCU on TX path Florian Fainelli <f.fainelli@xxxxxxxxx> net: phy: Avoid deadlock during phy_error() Paul Hüber <phueber@xxxxxxxxx> l2tp: avoid use-after-free caused by l2tp_ip_backlog_recv Roman Mashak <mrv@xxxxxxxxxxxx> net sched actions: decrement module reference count after table flush. Julian Anastasov <ja@xxxxxx> ipv4: mask tos for input route Brian Russell <brussell@xxxxxxxxxxx> vxlan: don't allow overwrite of config src addr David Forster <dforster@xxxxxxxxxxx> vti6: return GRE_KEY for vti6 Matthias Schiffer <mschiffer@xxxxxxxxxxxxxxxxxxxx> vxlan: correctly validate VXLAN ID against VXLAN_N_VID Tariq Toukan <tariqt@xxxxxxxxxxxx> net/mlx5e: Fix wrong CQE decompression Tariq Toukan <tariqt@xxxxxxxxxxxx> net/mlx5e: Do not reduce LRO WQE size when not using build_skb Saeed Mahameed <saeedm@xxxxxxxxxxxx> net/mlx5e: Register/unregister vport representors on interface attach/detach ------------- Diffstat: Documentation/arm64/silicon-errata.txt | 44 +- Makefile | 4 +- arch/arm64/Kconfig | 10 + arch/arm64/kvm/hyp/tlb.c | 64 +- arch/powerpc/crypto/crc32c-vpmsum_glue.c | 2 +- arch/powerpc/include/asm/mmu_context.h | 20 +- arch/powerpc/kernel/setup-common.c | 2 +- arch/powerpc/mm/mmu_context_book3s64.c | 6 +- arch/powerpc/mm/mmu_context_iommu.c | 62 +- arch/x86/events/core.c | 4 +- arch/x86/kernel/cpu/mshyperv.c | 24 + arch/x86/kernel/head64.c | 1 + arch/x86/kernel/tsc.c | 2 + arch/x86/mm/kasan_init_64.c | 1 + arch/x86/pci/xen.c | 23 +- block/scsi_ioctl.c | 3 + drivers/acpi/blacklist.c | 28 + drivers/clk/bcm/clk-bcm2835.c | 2 +- drivers/dma/ioat/init.c | 4 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 2 + .../gpu/drm/nouveau/nvkm/engine/disp/channv50.c | 30 +- .../gpu/drm/nouveau/nvkm/engine/disp/channv50.h | 23 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/cursg84.c | 2 +- .../gpu/drm/nouveau/nvkm/engine/disp/cursgf119.c | 2 +- .../gpu/drm/nouveau/nvkm/engine/disp/cursgk104.c | 2 +- .../gpu/drm/nouveau/nvkm/engine/disp/cursgp102.c | 37 + .../gpu/drm/nouveau/nvkm/engine/disp/cursgt215.c | 2 +- .../gpu/drm/nouveau/nvkm/engine/disp/cursnv50.c | 6 +- .../gpu/drm/nouveau/nvkm/engine/disp/dmacgf119.c | 44 +- .../gpu/drm/nouveau/nvkm/engine/disp/dmacgp104.c | 23 +- .../gpu/drm/nouveau/nvkm/engine/disp/dmacnv50.c | 46 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/oimmg84.c | 2 +- .../gpu/drm/nouveau/nvkm/engine/disp/oimmgf119.c | 2 +- .../gpu/drm/nouveau/nvkm/engine/disp/oimmgk104.c | 2 +- .../gpu/drm/nouveau/nvkm/engine/disp/oimmgp102.c | 37 + .../gpu/drm/nouveau/nvkm/engine/disp/oimmgt215.c | 2 +- .../gpu/drm/nouveau/nvkm/engine/disp/oimmnv50.c | 6 +- .../gpu/drm/nouveau/nvkm/engine/disp/piocgf119.c | 28 +- .../gpu/drm/nouveau/nvkm/engine/disp/piocnv50.c | 30 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootgp104.c | 4 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c | 4 +- drivers/gpu/drm/vc4/vc4_crtc.c | 46 +- drivers/gpu/drm/vc4/vc4_drv.h | 2 + drivers/gpu/drm/vc4/vc4_kms.c | 33 +- drivers/gpu/drm/vc4/vc4_regs.h | 3 +- drivers/irqchip/irq-gic-v3-its.c | 16 + drivers/media/usb/uvc/uvc_driver.c | 118 ++- drivers/net/ethernet/ibm/ibmveth.c | 12 +- drivers/net/ethernet/intel/igb/e1000_phy.c | 4 + drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 34 +- drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 13 +- .../net/ethernet/mellanox/mlxsw/spectrum_router.c | 30 +- drivers/net/geneve.c | 10 +- drivers/net/phy/phy.c | 14 +- drivers/net/tun.c | 18 +- drivers/net/vrf.c | 3 +- drivers/net/vxlan.c | 27 +- drivers/pci/iov.c | 70 +- drivers/pci/pci.c | 34 - drivers/pci/pci.h | 7 +- drivers/pci/probe.c | 3 +- drivers/pci/rom.c | 5 + drivers/pci/setup-res.c | 48 +- drivers/s390/crypto/ap_bus.c | 3 + drivers/s390/crypto/ap_bus.h | 1 + drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 1096 +++++++++----------- drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.h | 5 +- drivers/tty/serial/8250/8250_pci.c | 23 +- drivers/usb/gadget/udc/atmel_usba_udc.c | 3 +- drivers/usb/gadget/udc/atmel_usba_udc.h | 1 + drivers/vfio/vfio_iommu_spapr_tce.c | 328 ++++-- include/linux/bpf_verifier.h | 14 +- include/linux/dccp.h | 1 + include/linux/hyperv.h | 32 +- include/uapi/linux/packet_diag.h | 2 +- kernel/bpf/verifier.c | 77 +- kernel/futex.c | 22 +- kernel/locking/rwsem-spinlock.c | 15 +- mm/slab.c | 4 +- mm/slab.h | 2 +- mm/slab_common.c | 27 +- mm/slob.c | 2 +- mm/slub.c | 19 +- net/bridge/br_forward.c | 3 +- net/bridge/br_input.c | 1 + net/bridge/br_netfilter_hooks.c | 21 - net/core/dev.c | 35 +- net/core/skbuff.c | 30 +- net/dccp/ccids/ccid2.c | 1 + net/dccp/input.c | 10 +- net/dccp/ipv4.c | 3 +- net/dccp/ipv6.c | 8 +- net/dccp/minisocks.c | 25 +- net/ipv4/af_inet.c | 4 +- net/ipv4/route.c | 1 + net/ipv4/tcp_input.c | 10 +- net/ipv4/tcp_ipv4.c | 10 +- net/ipv4/tcp_timer.c | 6 +- net/ipv6/ip6_fib.c | 2 + net/ipv6/ip6_offload.c | 4 +- net/ipv6/ip6_output.c | 7 +- net/ipv6/ip6_vti.c | 4 + net/ipv6/netfilter/nf_conntrack_reasm.c | 1 + net/ipv6/tcp_ipv6.c | 8 +- net/l2tp/l2tp_ip.c | 2 +- net/mpls/af_mpls.c | 4 +- net/openvswitch/conntrack.c | 1 - net/packet/af_packet.c | 8 +- net/sched/act_api.c | 5 +- net/sched/act_connmark.c | 3 + net/sched/act_skbmod.c | 1 - net/strparser/strparser.c | 1 + 112 files changed, 1816 insertions(+), 1272 deletions(-)