Skip to contentSkip to conversation

Linux 5.10.265

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Aug 19 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.10.265 kernel.

All users of the 5.10 kernel series must upgrade.

The updated 5.10.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.10.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

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

 Makefile                                                    |    2 
 arch/arm/mach-npcm/platsmp.c                                |    2 
 arch/mips/kernel/mips-mt-fpaff.c                            |   28 
 arch/powerpc/boot/simpleboot.c                              |    2 
 arch/powerpc/boot/treeboot-akebono.c                        |    2 
 arch/powerpc/boot/treeboot-currituck.c                      |    2 
 arch/powerpc/platforms/ps3/mm.c                             |    1 
 arch/um/drivers/vector_kern.c                               |    3 
 arch/x86/kvm/mmu/mmu.c                                      |    2 
 arch/x86/kvm/vmx/nested.c                                   |   11 
 arch/x86/kvm/vmx/vmx_ops.h                                  |   16 
 crypto/rsa-pkcs1pad.c                                       |    2 
 drivers/ata/pata_sl82c105.c                                 |    4 
 drivers/ata/sata_dwc_460ex.c                                |   21 
 drivers/block/rbd.c                                         |    7 
 drivers/cdrom/cdrom.c                                       |    1 
 drivers/counter/microchip-tcb-capture.c                     |    4 
 drivers/cpufreq/powernow-k8.c                               |    1 
 drivers/dma/sun6i-dma.c                                     |   11 
 drivers/firewire/net.c                                      |   39 
 drivers/firmware/arm_scmi/notify.c                          |    6 
 drivers/firmware/stratix10-svc.c                            |    9 
 drivers/gpio/gpio-pch.c                                     |   28 
 drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c                     |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c                    |   45 
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c                  |   13 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c                     |   12 
 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c                     |    8 
 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c                      |   13 
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c                       |    3 
 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c                       |   10 
 drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c                      |    4 
 drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c                      |    4 
 drivers/gpu/drm/amd/pm/powerplay/hwmgr/hwmgr.c              |    7 
 drivers/gpu/drm/i915/gt/intel_engine_user.c                 |    2 
 drivers/gpu/drm/i915/gt/selftest_gt_pm.c                    |    8 
 drivers/gpu/drm/nouveau/nvkm/subdev/acr/base.c              |    1 
 drivers/gpu/drm/radeon/r100.c                               |   13 
 drivers/gpu/drm/rockchip/cdn-dp-reg.c                       |    2 
 drivers/gpu/drm/vc4/vc4_validate.c                          |   29 
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c                     |   14 
 drivers/gpu/drm/vmwgfx/vmwgfx_surface.c                     |   22 
 drivers/hid/hid-logitech-dj.c                               |   28 
 drivers/hwmon/Kconfig                                       |    1 
 drivers/hwmon/adt7470.c                                     |  601 +++++++-----
 drivers/hwmon/corsair-cpro.c                                |    1 
 drivers/hwmon/nct6775.c                                     |   12 
 drivers/hwmon/pmbus/pmbus_core.c                            |    2 
 drivers/hwtracing/intel_th/core.c                           |   10 
 drivers/hwtracing/intel_th/msu.c                            |    2 
 drivers/i2c/busses/i2c-amd-mp2-plat.c                       |    4 
 drivers/i2c/busses/i2c-jz4780.c                             |    5 
 drivers/infiniband/core/mad.c                               |   30 
 drivers/infiniband/hw/hns/hns_roce_hem.c                    |    2 
 drivers/infiniband/sw/rxe/rxe_mmap.c                        |   19 
 drivers/input/evdev.c                                       |   27 
 drivers/input/misc/ims-pcu.c                                |   32 
 drivers/iommu/amd/init.c                                    |    6 
 drivers/iommu/intel/svm.c                                   |    2 
 drivers/media/cec/platform/seco/seco-cec.c                  |    6 
 drivers/media/common/videobuf2/videobuf2-core.c             |   12 
 drivers/media/dvb-frontends/rtl2832.c                       |    4 
 drivers/media/dvb-frontends/rtl2832_sdr.c                   |   19 
 drivers/media/pci/cx23885/cx23885-core.c                    |   14 
 drivers/media/pci/dm1105/dm1105.c                           |    1 
 drivers/media/pci/saa7134/saa7134-video.c                   |   25 
 drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c          |    6 
 drivers/media/radio/radio-si476x.c                          |    1 
 drivers/media/test-drivers/vidtv/vidtv_bridge.c             |    4 
 drivers/media/test-drivers/vimc/vimc-core.c                 |    1 
 drivers/media/test-drivers/vivid/vivid-ctrls.c              |   12 
 drivers/media/test-drivers/vivid/vivid-vid-cap.c            |    6 
 drivers/media/test-drivers/vivid/vivid-vid-out.c            |    6 
 drivers/media/usb/airspy/airspy.c                           |    8 
 drivers/media/usb/cx231xx/cx231xx-cards.c                   |   16 
 drivers/media/usb/msi2500/msi2500.c                         |   32 
 drivers/media/usb/pwc/pwc-if.c                              |   13 
 drivers/media/usb/uvc/uvc_video.c                           |   78 +
 drivers/media/usb/uvc/uvcvideo.h                            |    4 
 drivers/misc/fastrpc.c                                      |    3 
 drivers/mtd/mtdswap.c                                       |    5 
 drivers/mtd/nand/raw/mtk_ecc.c                              |   16 
 drivers/net/bonding/bond_alb.c                              |   10 
 drivers/net/can/softing/softing_fw.c                        |   46 
 drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c           |    1 
 drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c            |   13 
 drivers/net/can/usb/peak_usb/pcan_usb_core.c                |    1 
 drivers/net/can/usb/peak_usb/pcan_usb_fd.c                  |   40 
 drivers/net/can/usb/peak_usb/pcan_usb_pro.c                 |   20 
 drivers/net/ethernet/amd/xgbe/xgbe-mdio.c                   |   11 
 drivers/net/ethernet/aquantia/atlantic/aq_ring.c            |   22 
 drivers/net/ethernet/broadcom/bnxt/bnxt.c                   |   12 
 drivers/net/ethernet/broadcom/bnxt/bnxt.h                   |    1 
 drivers/net/ethernet/hisilicon/hip04_eth.c                  |   11 
 drivers/net/ethernet/hisilicon/hix5hd2_gmac.c               |    1 
 drivers/net/ethernet/huawei/hinic/hinic_dev.h               |    2 
 drivers/net/ethernet/huawei/hinic/hinic_ethtool.c           |   21 
 drivers/net/ethernet/intel/e1000/e1000_main.c               |    2 
 drivers/net/ethernet/intel/igbvf/netdev.c                   |    2 
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c        |    2 
 drivers/net/ethernet/marvell/prestera/prestera_pci.c        |   87 +
 drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c    |   18 
 drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c          |   15 
 drivers/net/ethernet/mellanox/mlx5/core/esw/acl/helper.c    |    2 
 drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c          |    7 
 drivers/net/ethernet/netronome/nfp/nfpcore/nfp_resource.c   |    3 
 drivers/net/ethernet/nvidia/forcedeth.c                     |    4 
 drivers/net/ethernet/qlogic/qede/qede_main.c                |   44 
 drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c             |   14 
 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c             |    1 
 drivers/net/geneve.c                                        |    3 
 drivers/net/macsec.c                                        |    2 
 drivers/net/phy/phylink.c                                   |   29 
 drivers/net/ppp/pppoe.c                                     |    1 
 drivers/net/slip/slip.c                                     |    4 
 drivers/net/vmxnet3/vmxnet3_drv.c                           |   22 
 drivers/net/vxlan/vxlan_core.c                              |   20 
 drivers/net/wan/wanxl.c                                     |    3 
 drivers/net/wireless/ath/ath11k/dp_rx.c                     |    3 
 drivers/net/wireless/ath/ath6kl/txrx.c                      |   10 
 drivers/net/wireless/ath/ath6kl/wmi.c                       |   20 
 drivers/net/wireless/ath/ath9k/hif_usb.c                    |    7 
 drivers/net/wireless/ath/carl9170/rx.c                      |    7 
 drivers/net/wireless/ath/carl9170/tx.c                      |    2 
 drivers/net/wireless/atmel/at76c50x-usb.c                   |    7 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c |    2 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c     |    8 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c     |    2 
 drivers/net/wireless/intel/ipw2x00/ipw2100.c                |    8 
 drivers/net/wireless/intersil/p54/txrx.c                    |    8 
 drivers/net/wireless/mac80211_hwsim.c                       |   75 +
 drivers/net/wireless/marvell/libertas/firmware.c            |    1 
 drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c        |    2 
 drivers/net/wireless/marvell/mwifiex/tdls.c                 |    2 
 drivers/net/wireless/marvell/mwifiex/uap_event.c            |   24 
 drivers/net/wireless/mediatek/mt76/mt7615/mac.c             |    4 
 drivers/net/wireless/microchip/wilc1000/hif.c               |    5 
 drivers/nvme/target/tcp.c                                   |    4 
 drivers/phy/xilinx/phy-zynqmp.c                             |   37 
 drivers/pinctrl/Kconfig                                     |    1 
 drivers/pinctrl/devicetree.c                                |    4 
 drivers/s390/block/dasd_ioctl.c                             |    2 
 drivers/s390/crypto/zcrypt_ccamisc.c                        |   26 
 drivers/s390/scsi/zfcp_aux.c                                |    1 
 drivers/scsi/libiscsi.c                                     |    2 
 drivers/scsi/libiscsi_tcp.c                                 |    8 
 drivers/scsi/scsi_debug.c                                   |    4 
 drivers/spi/spi-fsl-dspi.c                                  |   13 
 drivers/staging/comedi/drivers/comedi_parport.c             |   13 
 drivers/staging/media/meson/vdec/vdec.c                     |    4 
 drivers/staging/media/sunxi/cedrus/cedrus.c                 |    6 
 drivers/staging/media/sunxi/cedrus/cedrus_h264.c            |    3 
 drivers/staging/media/tegra-video/vi.c                      |    4 
 drivers/staging/rtl8723bs/core/rtw_ieee80211.c              |    3 
 drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c           |    4 
 drivers/thunderbolt/eeprom.c                                |    9 
 drivers/tty/serial/8250/8250_dma.c                          |   12 
 drivers/tty/vt/keyboard.c                                   |    5 
 drivers/tty/vt/vt_ioctl.c                                   |    2 
 drivers/usb/atm/cxacru.c                                    |    2 
 drivers/usb/atm/ueagle-atm.c                                |   17 
 drivers/usb/chipidea/core.c                                 |    1 
 drivers/usb/gadget/function/f_midi.c                        |    1 
 drivers/usb/gadget/function/f_ncm.c                         |   19 
 drivers/usb/gadget/function/f_printer.c                     |   23 
 drivers/usb/gadget/function/uvc_v4l2.c                      |    2 
 drivers/usb/gadget/udc/dummy_hcd.c                          |   40 
 drivers/usb/gadget/udc/fsl_udc_core.c                       |    1 
 drivers/usb/gadget/udc/snps_udc_core.c                      |    1 
 drivers/usb/host/xhci-pci.c                                 |    1 
 drivers/usb/host/xhci.c                                     |   15 
 drivers/usb/host/xhci.h                                     |    1 
 drivers/usb/serial/ftdi_sio.c                               |    2 
 drivers/usb/serial/ftdi_sio_ids.h                           |    5 
 drivers/usb/serial/io_edgeport.c                            |    3 
 drivers/usb/serial/option.c                                 |    1 
 drivers/usb/storage/unusual_devs.h                          |    7 
 drivers/vhost/vhost.c                                       |    8 
 drivers/video/fbdev/core/bitblit.c                          |    9 
 drivers/watchdog/watchdog_pretimeout.c                      |    2 
 fs/binfmt_elf_fdpic.c                                       |    4 
 fs/binfmt_misc.c                                            |    9 
 fs/btrfs/free-space-cache.c                                 |   38 
 fs/btrfs/free-space-cache.h                                 |    1 
 fs/ceph/caps.c                                              |    1 
 fs/cifs/cifssmb.c                                           |   12 
 fs/cifs/smb2ops.c                                           |   25 
 fs/crypto/fscrypt_private.h                                 |   32 
 fs/crypto/keyring.c                                         |  212 +---
 fs/exec.c                                                   |    2 
 fs/namespace.c                                              |    5 
 fs/nfs/nfs4proc.c                                           |   13 
 fs/proc/namespaces.c                                        |    4 
 include/linux/dma/qcom_bam_dma.h                            |   21 
 include/linux/netdevice.h                                   |    5 
 include/linux/netfilter/nf_conntrack_sip.h                  |    2 
 include/media/videobuf2-core.h                              |    8 
 include/net/addrconf.h                                      |    4 
 include/net/bluetooth/bluetooth.h                           |    1 
 include/net/bluetooth/l2cap.h                               |    1 
 include/net/bluetooth/rfcomm.h                              |    3 
 include/net/ip_vs.h                                         |   20 
 include/net/raw.h                                           |    5 
 include/net/rawv6.h                                         |    6 
 include/net/route.h                                         |    2 
 include/net/sctp/structs.h                                  |    3 
 include/uapi/linux/if_bridge.h                              |   14 
 kernel/audit.c                                              |   11 
 kernel/auditfilter.c                                        |    6 
 kernel/bpf/verifier.c                                       |   31 
 kernel/cpu.c                                                |    9 
 kernel/futex/core.c                                         |   82 +
 kernel/trace/trace_events.c                                 |    4 
 kernel/trace/trace_events_filter.c                          |    3 
 kernel/trace/trace_mmiotrace.c                              |    5 
 kernel/trace/trace_probe.c                                  |   13 
 lib/assoc_array.c                                           |    3 
 lib/rhashtable.c                                            |    1 
 mm/huge_memory.c                                            |   16 
 mm/hugetlb.c                                                |    2 
 mm/page_reporting.c                                         |    6 
 mm/percpu-km.c                                              |    2 
 net/bluetooth/6lowpan.c                                     |   18 
 net/bluetooth/af_bluetooth.c                                |   22 
 net/bluetooth/hidp/core.c                                   |    5 
 net/bluetooth/l2cap_core.c                                  |   41 
 net/bluetooth/rfcomm/core.c                                 |   17 
 net/bluetooth/rfcomm/tty.c                                  |    7 
 net/bluetooth/sco.c                                         |   27 
 net/bridge/br_multicast.c                                   |    1 
 net/bridge/br_netlink_tunnel.c                              |    3 
 net/bridge/br_private.h                                     |   14 
 net/bridge/br_vlan.c                                        |   64 +
 net/bridge/br_vlan_options.c                                |  119 ++
 net/bridge/netfilter/ebt_nflog.c                            |   17 
 net/bridge/netfilter/nf_conntrack_bridge.c                  |    1 
 net/can/bcm.c                                               |  556 ++++++++---
 net/can/isotp.c                                             |  293 ++++-
 net/can/j1939/transport.c                                   |   20 
 net/ceph/auth_x.c                                           |    9 
 net/ceph/ceph_common.c                                      |    4 
 net/ceph/mon_client.c                                       |    2 
 net/ceph/osdmap.c                                           |   12 
 net/core/lwt_bpf.c                                          |    4 
 net/core/sock.c                                             |    1 
 net/ipv4/fib_semantics.c                                    |   34 
 net/ipv4/fib_trie.c                                         |    2 
 net/ipv4/icmp.c                                             |   18 
 net/ipv4/raw.c                                              |   93 -
 net/ipv4/raw_diag.c                                         |   33 
 net/ipv4/route.c                                            |   29 
 net/ipv4/tcp_bpf.c                                          |    4 
 net/ipv4/udp_offload.c                                      |    4 
 net/ipv6/fib6_rules.c                                       |    1 
 net/ipv6/ila/ila_common.c                                   |   12 
 net/ipv6/ip6_fib.c                                          |   17 
 net/ipv6/ip6_tunnel.c                                       |    3 
 net/ipv6/raw.c                                              |  108 --
 net/ipv6/route.c                                            |    8 
 net/iucv/af_iucv.c                                          |   21 
 net/mac80211/iface.c                                        |    8 
 net/mac80211/rx.c                                           |    2 
 net/mac802154/llsec.c                                       |    5 
 net/mpls/af_mpls.c                                          |    4 
 net/ncsi/ncsi-netlink.c                                     |    4 
 net/netfilter/ipset/ip_set_hash_gen.h                       |    2 
 net/netfilter/ipvs/ip_vs_conn.c                             |   44 
 net/netfilter/ipvs/ip_vs_core.c                             |    1 
 net/netfilter/ipvs/ip_vs_ctl.c                              |   77 +
 net/netfilter/ipvs/ip_vs_lc.c                               |    4 
 net/netfilter/ipvs/ip_vs_proto_sctp.c                       |    2 
 net/netfilter/ipvs/ip_vs_proto_tcp.c                        |    2 
 net/netfilter/ipvs/ip_vs_sync.c                             |    7 
 net/netfilter/nf_conntrack_sip.c                            |    2 
 net/netfilter/nf_nat_sip.c                                  |    2 
 net/netfilter/nft_payload.c                                 |   12 
 net/netfilter/xt_hashlimit.c                                |   16 
 net/openvswitch/actions.c                                   |   26 
 net/openvswitch/datapath.c                                  |   54 -
 net/openvswitch/datapath.h                                  |    2 
 net/openvswitch/flow.c                                      |   28 
 net/openvswitch/meter.c                                     |   33 
 net/openvswitch/vport.c                                     |    6 
 net/packet/af_packet.c                                      |   13 
 net/phonet/pep.c                                            |    2 
 net/qrtr/af_qrtr.c                                          |    8 
 net/qrtr/ns.c                                               |   33 
 net/rds/ib.c                                                |    4 
 net/rds/ib_cm.c                                             |    4 
 net/rds/recv.c                                              |   15 
 net/rds/tcp.c                                               |   14 
 net/sched/act_tunnel_key.c                                  |   14 
 net/sched/cls_route.c                                       |   35 
 net/sched/sch_cake.c                                        |    1 
 net/sctp/associola.c                                        |   14 
 net/sctp/auth.c                                             |    2 
 net/sctp/input.c                                            |  106 --
 net/sctp/ipv6.c                                             |   82 -
 net/sctp/outqueue.c                                         |    1 
 net/sctp/sm_make_chunk.c                                    |   26 
 net/sctp/sm_statefuns.c                                     |    8 
 net/sctp/stream.c                                           |    6 
 net/smc/smc_core.c                                          |    2 
 net/smc/smc_llc.c                                           |    3 
 net/tipc/core.c                                             |    5 
 net/tipc/discover.c                                         |   14 
 net/tipc/netlink.c                                          |    6 
 net/tipc/netlink_compat.c                                   |    4 
 net/tipc/node.c                                             |   15 
 net/tipc/socket.c                                           |    3 
 net/tls/tls_sw.c                                            |   19 
 net/vmw_vsock/virtio_transport.c                            |    3 
 net/wireless/nl80211.c                                      |    4 
 net/wireless/pmsr.c                                         |   21 
 net/wireless/scan.c                                         |    2 
 net/x25/af_x25.c                                            |    8 
 net/xfrm/xfrm_policy.c                                      |    4 
 security/integrity/ima/ima_appraise.c                       |    9 
 security/keys/keyring.c                                     |   14 
 sound/core/pcm_native.c                                     |    7 
 sound/pci/lx6464es/lx6464es.c                               |    5 
 sound/pci/lx6464es/lx_core.c                                |    5 
 sound/soc/codecs/bt-sco.c                                   |   18 
 sound/soc/codecs/max98090.c                                 |    5 
 sound/soc/codecs/max98095.c                                 |    5 
 sound/soc/codecs/tas2562.c                                  |   35 
 sound/soc/meson/aiu-fifo-spdif.c                            |    5 
 sound/usb/6fire/chip.c                                      |    4 
 sound/usb/endpoint.c                                        |   23 
 sound/usb/midi.c                                            |    2 
 sound/usb/pcm.c                                             |    7 
 tools/testing/selftests/clone3/clone3_set_tid.c             |    2 
 332 files changed, 3970 insertions(+), 1825 deletions(-)

Aaron Tomlin (1):
mips: sched: Fix CPUMASK_OFFSTACK memory corruption

Abdun Nihaal (3):
wifi: ipw2100: fix potential memory leak in ipw2100_pci_init_one()
cpufreq: powernow-k8: Fix possible memory leak in powernowk8_cpu_init()
can: kvaser_usb: kvaser_usb_hydra_get_busparams(): fix memory leak in kvaser_usb_hydra_get_busparams()

Al Viro (1):
mount: honour SB_NOUSER in the new mount API

Aldo Ariel Panzardo (2):
rds: drop incoming messages that cross network namespace boundaries
net: qrtr: restrict socket creation to the initial network namespace

Aleksandr Nogikh (1):
usb: atm: cxacru: properly kill rcv_urb on error in cxacru_cm()

Alex Deucher (5):
drm/amdgpu/sdma5.2: replace BUG_ON() with WARN_ON() drm/amdgpu/sdma5.0: replace BUG_ON() with WARN_ON() drm/amdgpu/gfx10: replace BUG_ON() with WARN_ON() drm/amdgpu/gfx8: drop unecessary BUG_ON() drm/amdgpu/gfx9: replace BUG_ON() with WARN_ON()

Alexei Lazar (2):
net/mlx5e: Report zero bandwidth for non-ETS traffic classes net/mlx5e: Reject unsupported CB Shaper TSA in ETS validation

Anand Moon (1):
media: meson: vdec: Fix memory leak in error path of vdec_open

Anandu Krishnan E (1):
misc: fastrpc: fix channel ctx ref leak when session alloc fails

Andrew Lunn (1):
net: openvswitch: Fix kerneldoc warnings

Andrew Pope (1):
wifi: mac80211: recalculate TIM when a station enters power save

Anna Schumaker (1):
NFS: Pin the 'struct nfs_server' during a FREE_STATEID call

Asim Viladi Oglu Manizada (2):
pppoe: reload header pointer after dev_hard_header()
sctp: prevent peer transport count overflow

Babanpreet Singh (1):
counter: microchip-tcb-capture: Fix DT channel validation

Baul Lee (4):
ALSA: usb-audio: fix OOB write in snd_usbmidi_akai_output()
ALSA: usb-audio: fix OOB write on Type II inbound URBs
vxlan: do not arm the ageing timer on a device that is down
sctp: keep chunk->transport in step with the list it is queued on

Benjamin Block (1):
scsi: zfcp: Fix memory leak during adapter release by destroying gid_pn_req

Benjamin Boortz (1):
pinctrl: bm1880: add missing select GENERIC_PINCONF

Benjamin Tissoires (1):
HID: logitech-dj: fix wrong detection of bad DJ_SHORT output report

Boyuan Zhang (1):
drm/amdgpu: fix division by zero with invalid uvd dimensions

Bradley Morgan (1):
cpu: hotplug: Bound hotplug states sysfs output

Breno Leitao (1):
phonet: pep: fix use-after-free in pep_get_sb()

Bryam Vargas (5):
wifi: mac80211_hwsim: clamp virtio RX length before skb_put net/iucv: take a reference on the socket found in afiucv_hs_rcv()
ceph: fix pre-auth out-of-bounds read on snaptrace in ceph_handle_caps() net/iucv: fix use-after-free of a severed iucv_path
thunderbolt: Bound the DROM dual link port number before indexing sw->ports

Ce Sun (1):
drm/amdgpu: invoke pm_genpd_remove() before freeing genpd

Cen Zhang (1):
wifi: mac80211: free AP_VLAN bc_buf SKBs outside IRQ lock

Cen Zhang (Microsoft) (4):
sctp: validate stream count in sctp_process_strreset_inreq()
tipc: fix u16 MTU truncation in media and bearer MTU validation
rhashtable: clear stale iter->p on table restart net/openvswitch: check Ethernet header length in key_extract()

Charles Vosburgh (1):
sctp: validate Adaptation Indication parameter length

Cheng Yongkang (1):
wifi: ath9k: hif_usb: don't dereference hif_dev after re-arming firmware request

Chengfeng Ye (5):
bpf, sockmap: Fix cork use-after-free in tcp_bpf_sendmsg()
Bluetooth: RFCOMM: Fix session UAF in set_termios
netfilter: ebt_nflog: pin the NFLOG backend
ipv4: fix use-after-free in fib_nhc_update_mtu() bpf, sockmap: Fix sk_redir use-after-free in send verdict

Chenguang Zhao (4):
hinic: remove unused ethtool RSS user configuration buffers
forcedeth: fix UAF of txrx_stats in nv_remove
net: sxgbe: free TX rings on RX allocation failure
net: sxgbe: check descriptor ring allocation failures

Chris Gellermann (1):
selftests/clone3: fix wild pointer access of getline due to missing init

Chris Packham (3):
hwmon: (adt7470) Create functions for updating readings and limits
hwmon: (adt7470) Fix some style issues
hwmon: (adt7470) Convert to use regmap

Christian Brauner (4):
exec: fix unsigned loop counter wrap in transfer_args_to_stack()
binfmt_misc: set have_execfd only once the interpreter is opened
binfmt_elf_fdpic: only honour the first PT_INTERP
binfmt_misc: reject a flag character as the field delimiter

Christian Hewitt (1):
ASoC: meson: aiu: fifo-spdif: soft reset the S/PDIF datapath on start/stop

Christian Marangi (1):
net: phylink: put link_gpio if phylink_create fails

Chukun Pan (1):
USB: serial: option: add TDTECH MT5710-CN

Colin Ian King (1):
ata: sata_dwc_460ex: remove variable num_processed

Cunhao Lu (1):
serial: 8250_dma: Clear stale RX state on shutdown

Daehyeon Ko (2):
macsec: don't read an unset MAC header in macsec_encrypt()
tipc: clear sock->sk on the failed-insert path in tipc_sk_create()

Daniel Borkmann (1):
bpf: Fix ld_{abs,ind} failure path analysis in subprogs

Danila Chernetsov (1):
RDMA/hns: Fix potential integer overflow in mhop hem cleanup

David Lee (3):
net/packet: avoid fanout hook re-registration after unregister net/x25: fix use-after-free in x25_kill_by_neigh()
netfilter: ipset: do not update comments from kernel-side hash adds

Dawei Feng (3):
wifi: libertas: fix memory leak in helper_firmware_cb()
smb: client: fix buffer leaks in SMB1 read and write
e1000: fix memory leak in e1000_probe()

Deepanshu Kartikey (1):

      media: rtl2832: fix use-after-free in rtl2832_remove()

Denis V. Lunev (1):
qede: sync udp_tunnel ports outside qede_lock in the recovery path

Devin Wittmayer (1):
wifi: mt76: mt7615: drop TXRX_NOTIFY on non-mmio buses

Diego Fernando Mancera Gomez (1):
usb: atm: ueagle-atm: reject descriptors that confuse probe and disconnect

Dmitry Morgun (1):
wifi: ath11k: fix potential buffer underflow in ath11k_hal_rx_msdu_list_get()

Dmitry Torokhov (3):
Input: ims-pcu - fix logic error in packet reset
Input: evdev - sanitize event type index when fetching event masks
Input: evdev - fix information leak in evdev_pass_values()

Doruk Tan Ozturk (6):
crypto: rsa-pkcs1pad: Don't WARN on an empty digest
wifi: mwifiex: fix NULL dereference when the AP has HT-cap but no HT-oper
vxlan: require CAP_NET_ADMIN in the device netns for changelink
geneve: require CAP_NET_ADMIN in the device netns for changelink
mac802154: llsec: reject frames shorter than the authentication tag net/packet: reset the MAC header on the packet-socket transmit path

Douya Le (3):
libceph: bound get_version reply decode to front len
libceph: reject zero bucket types in crush_decode
libceph: remove debugfs files before client teardown

Eddie Lin (1):
misc: fastrpc: fix memory leak in fastrpc_channel_ctx_free

Emre Cecanpunar (1):
drm/i915/selftests: Fix GT PM sort comparators

Eric Biggers (1):
fscrypt: Replace mk_users keyring with simple list

Eric Dumazet (9):
ipv4: icmp: fill flow parameters in icmp_route_lookup decoy lookup
raw: use more conventional iterators
raw: remove unused variables from raw6_icmp_error()
raw: fix a typo in raw_icmp_error()
vxlan: re-fetch eth header after route_shortcircuit()
vxlan: unclone skb head before modifying eth header in route_shortcircuit()
vxlan: use neigh_ha_snapshot() in route_shortcircuit()
vxlan: use pskb_network_may_pull() in route_shortcircuit()
net: remove WARN_ON_ONCE() from sk_mc_loop()

Fan Wu (3):
usb: gadget: f_midi: cancel pending IN work before freeing the midi object
wifi: brcmfmac: make release_scratchbuffers idempotent
net: hip04: fix RX buffer leak on build_skb failure

Greg Kroah-Hartman (1):

      Linux 5.10.265

Guangshuo Li (3):
media: vidtv: fix reference leak on failed device registration
media: vimc: fix reference leak on failed device registration
intel_th: fix MSC output device reference leak

Guenter Roeck (3):
hwmon: (corsair-cpro) Stop device IO before calling hid_hw_stop
hwmon: (nct6775-core) Prevent access to unsupported weight registers
hwmon: (pmbus) Fix return value from pmbus_update_byte_data()

H. Nikolaus Schaller (1):
i2c: jz4780: Cache host clock rate at probe to prevent CCF prepare_lock deadlock

HE WEI (ギカク) (2):
wifi: cfg80211: bound element ID read when checking non-inheritance
wifi: mwifiex: bound uAP association event IEs to the event buffer

Haidar Lee (2):
ASoC: tas2562: fix DVC coefficient write order
ASoC: tas2562: fix broken entries in the volume lookup table

HanQuan (1):
sctp: fix auth_chunk_list capacity check in sctp_auth_ep_add_chunkid

Hans Verkuil (1):
media: vivid: check for vb2_is_busy() when toggling caps

Harald Freudenberger (1):
s390/zcrypt: Fix missing mem scrub at clear key import in cca_clr2cipherkey()

Harkirat Gill (1):
drm/amdgpu: cap GTT size to physical RAM on APUs

Harshaka Narayana (1):
vmxnet3: fix BUG_ON in vmxnet3_get_hdr_len() for Geneve packets

Helen Koike (1):
tipc: fix infinite loop in __tipc_nl_compat_dumpit

Henry Martin (1):
net/ncsi: fix heap OOB read in NCSI_CMD_SEND_CMD payload length

Hidayath Khan (1):
net/af_iucv: fix NULL deref in afiucv_hs_callback_syn()

Holger Dengler (2):
s390/zcrypt: Validate length for CCA AES cipher key requests s390/zcrypt: Validate length for CCA ECC private key requests

Hongling Zeng (1):
dmaengine: sun6i-dma: Fix reclaim descriptors while terminating DMA

Hongyan Xu (1):
ata: pata_sl82c105: fix bridge revision use-after-free

Huang Wei (1):
USB: storage: add NO_ATA_1X quirk for Longmai USB Key

Huihui Huang (2):
wifi: at76c50x-usb: avoid length underflow in at76_guess_freq()
wifi: wilc1000: validate assoc response length before subtracting header

Huiwen He (1):
smb/client: handle overlapping allocated ranges in fallocate

Hungyu Lin (1):
media: tegra-video: vi: fix invalid u32 return value in format lookup

HyeongJun An (3):
scsi: libiscsi: Fix stale-data leak into the SCSI sense buffer
scsi: libiscsi_tcp: Bound SCSI Response data segment to the connection buffer
HID: logitech-dj: Fix maxfield check in DJ short report validation

Hyunwoo Kim (2):
KVM: nVMX: Hide shadow VMCS right after VMCLEAR
Bluetooth: SCO: Fix use-after-free in sco_recv_frame() due to missing sock_hold

Ian Abbott (1):
comedi: comedi_parport: deal with premature interrupt

Ian Forbes (1):
drm/vmwgfx: Validate vmw_surface_metadata::array_size

Ilia Gavrilov (1):
rds: Fix inet6_addr_lst NULL dereference when IPv6 is disabled

Ilya Maximets (3):
net: openvswitch: fix potential UAF on meter attach failure
net: openvswitch: fix skb leak on flow key update failure during ct
net: openvswitch: fix skb leak on flow key update failure during recirculation

Isaac Scott (1):
media: uvcvideo: Implement dual stream quirk to fix loss of usb packets

Jamal Hadi Salim (2):
net/sched: act_tunnel_key: Defer dst_release to RCU callback net/sched: cls_route: fix fastmap use-after-free on filter

James Gao (1):
can: peak_usb: add bounds check for USB channel index

Jan Höppner (1):
s390/dasd: Fix potential NULL pointer dereference

Jann Horn (1):
proc: Fix broken error paths for namespace links

Javier Carrasco (1):
hwmon: (adt7470) Add missing dependency on REGMAP_I2C

Jiale Yao (1):
Bluetooth: L2CAP: fix UAF in l2cap_le_connect_rsp

Jiawen Liu (1):
net: hisilicon: hix5hd2_gmac: remove redundant NAPI delete

Jiaxin Yu (1):
ASoC: bt-sco: fix bt-sco-pcm-wb dai widget don't connect to the endpoint

Jinchao Wang (1):
usb: gadget: dummy_hcd: prevent fifo_req reuse during giveback

Johan Hovold (3):
USB: gadget: snps-udc: fix device name leak on probe failure
USB: gadget: fsl-udc: fix device name leak on probe failure
media: cx231xx: fix devres lifetime

Jonas Gorski (1):
prestera: fix fallback to previous version on same major version

Joshua Rogers (2):
vt: add permission check for KDSKBMETA ioctl
vt: stabilize tty reference in kbd_keycode with tty_port_tty_get

Julian Anastasov (2):
ipvs: add totalconns for dest
ipvs: properly update the overload flag on dest edit

Jun Yang (3):
sctp: don't free the ASCONF's own transport in DEL-IP processing
vhost: reset the vring metadata cache on vring reconfiguration
tipc: read le->link under the node lock in tipc_node_link_down()

Junjie Cao (1):
gpio: pch: use raw_spinlock_t for the register lock

Karl Mehltretter (1):
pinctrl: devicetree: don't free uninitialized dev_name on error path

Keno Fischer (1):
futex: Prevent robust futex exit race some more

Kiryl Shutsemau (Meta) (1):
mm/huge_memory: unlock i_mmap_rwsem before releasing after-split folios

Krzysztof Kozlowski (1):
media: pci: dm1105: Free allocated workqueue

Kyle Zeng (3):
openvswitch: fix GSO userspace truncation underflow
ipvs: clear IPv4 options after rebasing tunnel ICMP errors
ipv6: prevent in6_dev_get() from resurrecting inet6_dev

Larisa Grigore (1):
spi: spi-fsl-dspi: Avoid setup_accel logic for DMA transfers

Lee Jones (3):
can: bcm: defer rx_op deallocation to workqueue to fix thrtimer UAF
HID: logitech-dj: Standardise hid_report_enum variable nomenclature
HID: logitech-dj: Prevent REPORT_ID_DJ_SHORT related user initiated OOB write

Leon Romanovsky (1):
net/mlx5: Remove second FW tracer check

Li RongQing (1):
net: ipv6: fix dif and sdif mismatch in raw6_icmp_error

Lincoln Wallace (1):
ima: fix out-of-bounds read in xattr_verify()

Link Lin (1):
mm/page_reporting: use system_freezable_wq to fix UAF during suspend

Lu Baolu (1):
iommu/vt-d: Disallow SVA if page walk is not coherent

Luiz Angelo Daros de Luca (4):
hwmon: (adt7470) Fix busy-loop and I2C flooding in update thread
hwmon: (adt7470) Fix swapped PWM3 and PWM4 auto mode masks
hwmon: (adt7470) Fix PWM auto temp state array and bounds check
hwmon: (adt7470) Fix fans stuck in manual mode on I2C errors

Luiz Augusto von Dentz (2):
Bluetooth: SCO: Fix UAF on sco_sock_timeout
Bluetooth: 6lowpan: Fix using chan->conn as indication to no remote netdev

Luxiao Xu (1):
audit: fix potential use-after-free in audit_del_rule()

Ma Ke (1):
media: saa7134: Fix a possible memory leak in saa7134_video_init1

Mahanta Jambigi (1):
net/smc: fix qentry overwrite for CONFIRM_LINK and ADD_LINK_CONT in smc_llc_event_handler()

Manivannan Sadhasivam (1):
net: qrtr: ns: Limit the maximum server registration per node

Maoyi Xie (1):
can: peak_usb: peak_usb_start(): fix double free of transfer buffer on URB submit error

Marco Elver (1):
Bluetooth: L2CAP: Fix UAF in channel timeout by holding conn ref

Mariano Baragiola (1):
staging: rtl8723bs: validate monitor transmit frame lengths

Mario Limonciello (1):
drm/amdgpu: Fix VFCT bus number matching with soft filter

Masami Hiramatsu (Google) (6):
tracing/probes: Avoid temporary buffer truncation in trace_probe_match_command_args() tracing/probes: Fix potential underflow in LEN_OR_ZERO macro tracing/probes: Prevent out-of-bounds write in __trace_probe_log_err() tracing/mmiotrace: Reset dropped_count in mmio_reset_data()
tracing: Check return value of __register_event() in trace_module_add_events() tracing/filters: Fix false positive match in regex_match_full()

Matt Vollrath (1):
igbvf: Fix leak in TX DMA error cleanup

Maximilian Immanuel Brandtner (1):
tls: don't abort the connection on signal-interrupted sends

Maíra Canal (1):
drm/vc4: Zero the tile state data array before each BIN job

Md Sadre Alam (1):
dmaengine: qcom: bam_dma: Fix command element mask field for BAM v1.6.0+

Melbin K Mathew (1):
usb: gadget: printer: fix infinite loop in printer_read()

Michael Bommarito (6):
IB/mad: Drop unmatched RMPP responses before reassembly
ila: reload IPv6 header after pskb_may_pull in checksum adjust
keys: fix out-of-bounds read in keyring_get_key_chunk()
keys: make keyring key-chunk byte order agree with keyring_diff_objects()
assoc_array: trim the final shortcut word using the current chunk end
um: vector: fix use-after-free in vector_mmsg_rx()

Michael Chan (2):
bnxt_en: Do not set EOP on RX AGG BDs on 5760X chips
bnxt_en: Disable EOP for TPA on all chips to prevent data corruption

Michael Guralnik (1):
net/mlx5: fw_tracer, return NULL on create error

Minhong He (1):
can: isotp: check register_netdevice_notifier() error in module init

Muhammad Bilal (2):
usb: gadget: uvc: clamp SEND_RESPONSE length to the response buffer
staging: rtl8723bs: fix OOB read in rtw_get_wpa_ie()

Myeonghun Pak (4):
media: cec: seco: unregister adapter on IR probe failure
media: cedrus: clean up media device on probe failure
media: radio-si476x: Unregister v4l2_device on probe failure
i2c: amd-mp2: Unregister callback on adapter add failure

Nava kishore Manne (3):
phy: zynqmp: fix L0_TM_DISABLE_SCRAMBLE_ENCODER mask
phy: zynqmp: use read-modify-write for SERDES scrambler bypass
phy: zynqmp: keep SERDES scrambler and 8b/10b enabled for USB

Nazim Amirul (1):
net: stmmac: reset residual action in L3L4 filters on delete

Nikolay Aleksandrov (4):
net: bridge: vlan: add support for global options
net: bridge: vlan: add support for dumping global vlan options
net: bridge: vlan: fix vlan range dumps starting with pvid
net: bridge: vlan: fix global vlan option range dumping

Nikolay Borisov (1):
btrfs: remove crc_check logic from free space

Norbert Szetei (1):
ALSA: pcm: wake linked drain waiters on unlink

Oleksij Rempel (1):
can: j1939: transport: j1939_session_fresh_new(): initialize receive buffer

Oliver Hartkopp (10):
can: isotp: fix use-after-free race with concurrent NETDEV_UNREGISTER
can: isotp: serialize TX state transitions under so->rx_lock
can: bcm: add locking when updating filter and timer values
can: bcm: fix CAN frame rx/tx statistics
can: bcm: extend bcm_tx_lock usage for data and timer updates
can: bcm: validate frame length in bcm_rx_setup() for RTR replies
can: bcm: add missing device refcount for CAN filter removal
can: bcm: fix stale rx/tx ops after device removal
can: bcm: fix data race on rx_stamp/rx_ifindex in bcm_rx_handler()
can: bcm: track a single source interface for ANYDEV timeout/throttle ops

Pablo Neira Ayuso (1):
netfilter: xt_hashlimit: validate hashtable supports XT_HASHLIMIT_RATE_MATCH

Pavel Ondračka (1):
drm/radeon: fix r100_copy_blit for large BOs

Pengfei Zhang (1):
ipv6: fib6: fix NULL deref in fib6_walk_continue() on multi-batch dump

Pengpeng Hou (9):
mtd: mtdswap: remove debugfs stats file on teardown
mtd: nand: mtk-ecc: stop on ECC idle timeouts
drm/i915/gt: use correct selftest config symbol
iommu/amd: Bound the early ACPI HID map
media: cedrus: skip invalid H.264 reference list entries
can: kvaser_usb_leaf: kvaser_usb_leaf_wait_cmd(): validate received command extents
can: softing: fw_parse(): validate firmware record spans
can: peak_usb: validate uCAN receive record lengths
net: prestera: validate firmware header length

Phil Rosenthal (1):
KVM: x86/mmu: Fix use-after-free on vendor module reload

Prashanth Kumar KR (1):
amd-xgbe: fix MAC_AUTO_SW handling in CL37 AN

Pushpendra Singh (1):
firmware: arm_scmi: Rate-limit queue-full warnings in IRQ context

Qihang Tang (1):
net: remove CAP_SYS_RAWIO zero-padding in dev_validate_header

Qing Luo (2):
sctp: auth: verify auth requirement when auth_chunk is NULL
sctp: fix addip_serial increment on ASCONF_ACK allocation failure

Qing Ming (1):
sctp: clear new_transport when removing a peer

Ramon Fontes (1):
mac80211_hwsim: add 6GHz channels

Randy Dunlap (1):
net: openvswitch: fix kernel-doc warnings in flow.c

Raphael Zimmer (2):
libceph: Fix multiplication overflow in decode_new_up_state_weight()
rbd: Reset positive result codes to zero in object map update path

Ricardo Ribalda (1):
media: uvcvideo: Fix sequence number when no EOF

Rik van Riel (1):
fbdev: bitblit: bound-check glyph index in bit_cursor()

Rosen Penev (3):
ata: sata_dwc_460ex: enable SATA interrupts only after IRQ handler is registered
ata: sata_dwc_460ex: fix clear_interrupt_bit() clearing all pending interrupts
ata: sata_dwc_460ex: fix infinite loop in NCQ tag completion bit-scanning

Runyu Xiao (1):
wifi: brcmfmac: initialize SDIO data work before cleanup

Ruoyu Wang (3):
firewire: net: Fix fragmented datagram reassembly
nfp: Check resource mutex allocation
wan: wanxl: Only reset hardware after BAR mapping

Sabrina Dubroca (1):
tls: separate no-async decryption request handling from async

Sagi Grimberg (1):
nvmet-tcp: Fix potential UAF when ddgst mismatch

Samuel Holland (1):
media: cedrus: Fix missing cleanup in error path

Sangho Lee (1):
Bluetooth: HIDP: validate numbered report payloads

Scott Mayhew (1):
nfs4: take a reference on the nfs_client when running FREE_STATEID

Sean Christopherson (1):
KVM: VMX: Make vmread_error_trampoline() uncallable from C code

Sergey Shtylyov (1):
drm/rockchip: cdn-dp: add missing check in cdn_dp_config_video()

Seungjin Bae (1):
Input: ims-pcu - fix heap-buffer-overflow in ims_pcu_process_data()

Shelley Yang (1):
wifi: brcmfmac: fix 802.1X-SHA256 call trace warning

Shengjiu Wang (1):
ASoC: bt-sco: fix duplicate DAPM widget names for wideband DAI

Shuangpeng Bai (1):

      libceph: refresh auth->authorizer_buf{,_len} after authorizer update

Shuhao Fu (1):
can: j1939: fix lockless local-destination check

Sonali Pradhan (4):
usb: gadget: f_ncm: validate datagram bounds in ncm_unwrap_ntb()
ALSA: usb-audio: Fix DMA buffer out-of-bounds write when fill_max is set
ALSA: usb-audio: Clamp frame size in implicit-feedback mode
usb: gadget: f_ncm: Use unsigned int for ndp_index

Steven Rostedt (1):

      tracing: Fix mmiotrace possible NULL dereferencing of hiter->dev

Suman Ghosh (1):
octeontx2-pf: Set correct sequence for carrier off and tx queue stop

Sungmin Kang (1):
net: slip: serialize receive against buffer reallocation

Sunho Park (1):
USB: serial: io_edgeport: cap received transmit credits

Takashi Iwai (2):
ALSA: 6fire: Fix UAF at error handling during probe
ALSA: usb-audio: Evaluate packsize caps at the right place

Thorsten Blum (4):
powerpc/boot: Fix simpleboot CPU node lookup check powerpc/boot: Fix treeboot-currituck CPU node lookup check powerpc/boot: Fix treeboot-akebono CPU node lookup check powerpc/ps3: Fix map failure path in dma_ioc0_map_pages()

Tim Pambor (1):
USB: serial: ftdi_sio: add support for E+H FXA291

Timur Kristóf (1):

      drm/amd/pm/ci: Don't disable MCLK DPM on Bonaire 0x6658 (R7 260X)

Toke Høiland-Jørgensen (1):
net/sched: sch_cake: drop WARN_ON(1) for malformed packets in ACK filter

Tristan Madani (6):
wifi: ath6kl: fix OOB read from firmware num_msg in TX complete handler
wifi: ath6kl: fix OOB read from firmware IE lengths in connect event
wifi: carl9170: bound memcpy length in cmd callback to prevent OOB read
wifi: carl9170: fix OOB read from off-by-two in TX status handler
wifi: carl9170: fix buffer overflow in rx_stream failover path
wifi: ath6kl: fix OOB access from firmware ADDBA window size

Tze Yee Ng (1):
firmware: stratix10-svc: fix memory leaks and list corruption bugs

Tzung-Bi Shih (1):
watchdog: pretimeout: Fix UAF in watchdog_unregister_governor()

Uday Khare (3):
ASoC: tas2562: fix deprecated 'shut-down' GPIO always cleared after lookup
ASoC: max98095: fix missing IS_ERR() before PTR_ERR() on mclk lookup
ASoC: max98090: fix missing IS_ERR() before PTR_ERR() on mclk lookup

Vadym Kochan (1):
net: marvell: prestera: try to load previous fw version

Valery Borovsky (6):
media: airspy: Return queued buffers on start_streaming() failure
media: msi2500: Return queued buffers on start_streaming() failure
media: pwc: Drain fill_buf on start_streaming() failure
media: pwc: Return queued buffers on start_streaming() failure
media: rtl2832_sdr: Return queued buffers on start_streaming() failure
media: sun4i-csi: Return queued buffers on start_streaming() failure

Wang Jun (1):
media: cx23885: add ioremap return check and cleanup

Weiming Shi (4):
ipv4: fib: free fib_alias with kfree_rcu() on insert error path
mpls: fix NULL deref in mpls_valid_fib_dump_req() on CONFIG_INET=n
tipc: fix use-after-free of the discoverer in tipc_disc_rcv() vsock/virtio: avoid refilling the RX queue after teardown

Wentao Liang (1):
drm/nouveau/acr: fix missing nvkm_done() in error path of nvkm_acr_oneinit()

Will Deacon (2):
arm64: syscall: Ensure saved x0 is kept in-sync with tracer updates Revert "arm64: syscall: Ensure saved x0 is kept in-sync with tracer updates"

Xiang Mei (4):
btrfs: reject free space cache with more entries than pages
wifi: p54: validate RX frame length in p54_rx_eeprom_readback()
netfilter: nf_conntrack_sip: widen NAT rewrite delta to s32 in sip_help_tcp()
rds: tcp: hold the RCU lock across ipv6_chk_addr() in rds_tcp_laddr_check()

Xiang Mei (Microsoft) (3):
xfrm: policy: preallocate inexact bins before xfrm_hash_rebuild reinsert
netfilter: nft_payload: fix mask build for partial field offload
bonding: alb: re-check primary_is_promisc under RTNL in bond_alb_monitor

Xiangfeng Cai (1):
mm/hugetlb: fix list corruption in allocate_file_region_entries()

Xin Long (5):
sctp: fix auth_hmacs array size in struct sctp_cookie
sctp: clear control chunk transport if it is being removed
sctp: remove the unessessary hold for idev in sctp_v6_err
sctp: extract sctp_v6_err_handle function from sctp_v6_err
sctp: extract sctp_v4_err_handle function from sctp_v4_err

Xincheng Zhang (1):
usb: xhci-pci: Limit VIA VL805 DMA addressing to 36 bits

Xu Rao (3):
cdrom: fix stack out-of-bounds read in CDROMVOLCTRL
ALSA: lx6464es: fix period byte count for 16-bit streams
scsi: scsi_debug: Negate wrapped memcmp() result

Xu Yang (1):
usb: chipidea: fix usage_count leak when autosuspend_delay is negative

Xuanqiang Luo (3):
bpf: lwt: Fix dst reference leak on reroute failure net/smc: fix socket use-after-free during link group termination
udp: fix potential use-after-free in tunnel segmentation

Yael Chemla (1):
net/mlx5: E-Switch, fix zero num_dest in prio_tag egress vlan rule

Yangyu Chen (1):
net: atlantic: free RX pages of consumed but not refilled buffers

Yehyeong Lee (1):
net: mpls: initialize rtm_tos in mpls_getroute()

Yiyang Chen (1):
bpf: Preserve pointer state for commuted arithmetic

Youssef Samir (1):
net: qrtr: ns: Raise node count limit to 512

Yuejie Shi (1):
ipv6: fix Route Information option length validation

Yuho Choi (1):
ARM: npcm: Fix OF node refcount leaks in SMP setup

Yuxiang Yang (2):
sctp: reject stale cookies with mismatched verification tags
sctp: fix use-after-free of cached ASCONF chunk

Zack Rusin (2):
drm/vmwgfx: validate DRAW_PRIMITIVES header size before division drm/vmwgfx: bound DMA command body size against suffix pointer

Zhan Xusheng (1):
audit: fix potential integer overflow in audit_log_n_string()

Zhao Li (4):
wifi: cfg80211: validate PMSR measurement type data
wifi: cfg80211: validate PMSR FTM preamble range
wifi: cfg80211: reject unsupported PMSR FTM location requests
wifi: mwifiex: use the subframe length when parsing A-MSDU TDLS frames

Zhao Zhang (1):
libceph: guard missing CRUSH type name lookup

Zhiling Zou (6):
ipvs: do not propagate one-packet flag to synced conns
net: bridge: stop fast-leave after deleting a port group
net: ipv6: clear suppressed fib6 rule result
net: openvswitch: reallocate update replies for mismatched IDs
netfilter: bridge: release template ct on non-IP path
ip6_tunnel: clear skb2->cb[] in ip6ip6_err()

Zhu Lingshan (1):

      drm/amdgpu: fix bo->pin leaking in amdgpu_bo_create_reserved

Zhu Yanjun (1):
RDMA/rxe: Fix a use-after-free problem in rxe_mmap

Zi Yan (1):
mm/percpu-km: fix bitmap overflow and accounting in pcpu_create_chunk()

Zihan Xi (1):
tipc: avoid use-after-free in poll trace queue dumps

Zile Xiong (1):
media: vb2: use ssize_t for vb2_read/vb2_write

deepakraog (1):
tracing: Fix resource leak on mmiotrace trace_pipe close

Łukasz Patron (1):
net: qrtr: ns: Raise lookup limit to 128

author maintainer
#1 lore raw
Makefile +1 -1
index 9abb9b26d8e5..1773020dec8d 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 10
-SUBLEVEL = 264
+SUBLEVEL = 265
 EXTRAVERSION =
 NAME = Dare mighty things
 
arch/arm/mach-npcm/platsmp.c +2 -0
index 21633c70fe7f..fe63edc9886d 100644
@@ -35,6 +35,7 @@ static int npcm7xx_smp_boot_secondary(unsigned int cpu,
 		goto out;
 	}
 	gcr_base = of_iomap(gcr_np, 0);
+	of_node_put(gcr_np);
 	if (!gcr_base) {
 		pr_err("could not iomap gcr");
 		ret = -ENOMEM;
@@ -63,6 +64,7 @@ static void __init npcm7xx_smp_prepare_cpus(unsigned int max_cpus)
 		return;
 	}
 	scu_base = of_iomap(scu_np, 0);
+	of_node_put(scu_np);
 	if (!scu_base) {
 		pr_err("could not iomap scu");
 		return;
arch/mips/kernel/mips-mt-fpaff.c +15 -13
index 6c590ef27648..5feffc8708ad 100644
@@ -70,11 +70,16 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
 	struct task_struct *p;
 	int retval;
 
-	if (len < sizeof(new_mask))
-		return -EINVAL;
-
-	if (copy_from_user(&new_mask, user_mask_ptr, sizeof(new_mask)))
-		return -EFAULT;
+	if (!alloc_cpumask_var(&new_mask, GFP_KERNEL))
+		return -ENOMEM;
+	if (len < cpumask_size())
+		cpumask_clear(new_mask);
+	else if (len > cpumask_size())
+		len = cpumask_size();
+	if (copy_from_user(new_mask, user_mask_ptr, len)) {
+		retval = -EFAULT;
+		goto out_free_new_mask;
+	}
 
 	get_online_cpus();
 	rcu_read_lock();
@@ -83,7 +88,8 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
 	if (!p) {
 		rcu_read_unlock();
 		put_online_cpus();
-		return -ESRCH;
+		retval = -ESRCH;
+		goto out_free_new_mask;
 	}
 
 	/* Prevent p going away */
@@ -94,13 +100,9 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
 		retval = -ENOMEM;
 		goto out_put_task;
 	}
-	if (!alloc_cpumask_var(&new_mask, GFP_KERNEL)) {
-		retval = -ENOMEM;
-		goto out_free_cpus_allowed;
-	}
 	if (!alloc_cpumask_var(&effective_mask, GFP_KERNEL)) {
 		retval = -ENOMEM;
-		goto out_free_new_mask;
+		goto out_free_cpus_allowed;
 	}
 	if (!check_same_owner(p) && !capable(CAP_SYS_NICE)) {
 		retval = -EPERM;
@@ -141,13 +143,13 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
 	}
 out_unlock:
 	free_cpumask_var(effective_mask);
-out_free_new_mask:
-	free_cpumask_var(new_mask);
 out_free_cpus_allowed:
 	free_cpumask_var(cpus_allowed);
 out_put_task:
 	put_task_struct(p);
 	put_online_cpus();
+out_free_new_mask:
+	free_cpumask_var(new_mask);
 	return retval;
 }
 
arch/powerpc/boot/simpleboot.c +1 -1
index c80691d83880..27591df41e9e 100644
@@ -68,7 +68,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
 	/* finally, setup the timebase */
 	node = fdt_node_offset_by_prop_value(_dtb_start, -1, "device_type",
 					     "cpu", sizeof("cpu"));
-	if (!node)
+	if (node < 0)
 		fatal("Cannot find cpu node\n");
 	timebase = fdt_getprop(_dtb_start, node, "timebase-frequency", &size);
 	if (timebase && (size == 4))
arch/powerpc/boot/treeboot-akebono.c +1 -1
index e3cc2599869c..1b529037480f 100644
@@ -146,7 +146,7 @@ void platform_init(char *userdata)
 
 	node = fdt_node_offset_by_prop_value(_dtb_start, -1, "device_type",
 					     "cpu", sizeof("cpu"));
-	if (!node)
+	if (node < 0)
 		fatal("Cannot find cpu node\n");
 	timebase = fdt_getprop(_dtb_start, node, "timebase-frequency", &size);
 	if (timebase && (size == 4))
arch/powerpc/boot/treeboot-currituck.c +1 -1
index d53e8a592f81..5b5363b74f9f 100644
@@ -102,7 +102,7 @@ void platform_init(void)
 
 	node = fdt_node_offset_by_prop_value(_dtb_start, -1, "device_type",
 	                                     "cpu", sizeof("cpu"));
-	if (!node)
+	if (node < 0)
 		fatal("Cannot find cpu node\n");
 	timebase = fdt_getprop(_dtb_start, node, "timebase-frequency", &size);
 	if (timebase && (size == 4))
arch/powerpc/platforms/ps3/mm.c +1 -0
index a81eac35d900..fd17c96e2de8 100644
@@ -614,6 +614,7 @@ static int dma_ioc0_map_pages(struct ps3_dma_region *r, unsigned long phys_addr,
 
 fail_map:
 	for (iopage--; 0 <= iopage; iopage--) {
+		offset = (1 << r->page_size) * iopage;
 		lv1_put_iopte(0,
 			      c->bus_addr + offset,
 			      c->lpar_addr + offset,
arch/um/drivers/vector_kern.c +3 -0
index a37007e42265..58180bfce962 100644
@@ -1008,6 +1008,9 @@ static int vector_mmsg_rx(struct vector_private *vp)
 				 */
 					dev_kfree_skb_irq(skb);
 					vp->estats.rx_encaps_errors++;
+					(*skbuff_vector) = NULL;
+					mmsg_vector++;
+					skbuff_vector++;
 					continue;
 				}
 				if (header_check > 0) {
arch/x86/kvm/mmu/mmu.c +2 -0
index 13bf3198d0ce..13cad4becfba 100644
@@ -5814,7 +5814,9 @@ static struct shrinker mmu_shrinker = {
 static void mmu_destroy_caches(void)
 {
 	kmem_cache_destroy(pte_list_desc_cache);
+	pte_list_desc_cache = NULL;
 	kmem_cache_destroy(mmu_page_header_cache);
+	mmu_page_header_cache = NULL;
 }
 
 static void kvm_set_mmio_spte_mask(void)
arch/x86/kvm/vmx/nested.c +9 -2
index c165ddbb672f..801938b25582 100644
@@ -279,6 +279,7 @@ static void vmx_switch_vmcs(struct kvm_vcpu *vcpu, struct loaded_vmcs *vmcs)
 static void free_nested(struct kvm_vcpu *vcpu)
 {
 	struct vcpu_vmx *vmx = to_vmx(vcpu);
+	struct vmcs *shadow_vmcs;
 
 	if (WARN_ON_ONCE(vmx->loaded_vmcs != &vmx->vmcs01))
 		vmx_switch_vmcs(vcpu, &vmx->vmcs01);
@@ -295,9 +296,15 @@ static void free_nested(struct kvm_vcpu *vcpu)
 	vmx->nested.current_vmptr = -1ull;
 	if (enable_shadow_vmcs) {
 		vmx_disable_shadow_vmcs(vmx);
-		vmcs_clear(vmx->vmcs01.shadow_vmcs);
-		free_vmcs(vmx->vmcs01.shadow_vmcs);
+
+		/*
+		 * Keep the pointer visible until after VMCLEAR, so migration
+		 * can clear an active shadow VMCS on the old CPU.
+		 */
+		shadow_vmcs = vmx->vmcs01.shadow_vmcs;
+		vmcs_clear(shadow_vmcs);
 		vmx->vmcs01.shadow_vmcs = NULL;
+		free_vmcs(shadow_vmcs);
 	}
 	kfree(vmx->nested.cached_vmcs12);
 	vmx->nested.cached_vmcs12 = NULL;
arch/x86/kvm/vmx/vmx_ops.h +14 -2
index 692b0c31c9c8..b80902686c1e 100644
@@ -13,14 +13,26 @@
 #define __ex(x) __kvm_handle_fault_on_reboot(x)
 
 asmlinkage void vmread_error(unsigned long field, bool fault);
-__attribute__((regparm(0))) void vmread_error_trampoline(unsigned long field,
-							 bool fault);
 void vmwrite_error(unsigned long field, unsigned long value);
 void vmclear_error(struct vmcs *vmcs, u64 phys_addr);
 void vmptrld_error(struct vmcs *vmcs, u64 phys_addr);
 void invvpid_error(unsigned long ext, u16 vpid, gva_t gva);
 void invept_error(unsigned long ext, u64 eptp, gpa_t gpa);
 
+/*
+ * The VMREAD error trampoline _always_ uses the stack to pass parameters, even
+ * for 64-bit targets.  Preserving all registers allows the VMREAD inline asm
+ * blob to avoid clobbering GPRs, which in turn allows the compiler to better
+ * optimize sequences of VMREADs.
+ *
+ * Declare the trampoline as an opaque label as it's not safe to call from C
+ * code; there is no way to tell the compiler to pass params on the stack for
+ * 64-bit targets.
+ *
+ * void vmread_error_trampoline(unsigned long field, bool fault);
+ */
+extern unsigned long vmread_error_trampoline;
+
 static __always_inline void vmcs_check16(unsigned long field)
 {
 	BUILD_BUG_ON_MSG(__builtin_constant_p(field) && ((field) & 0x6001) == 0x2000,
crypto/rsa-pkcs1pad.c +1 -1
index a4ebbb889274..1cde1e7c9ae4 100644
@@ -535,7 +535,7 @@ static int pkcs1pad_verify(struct akcipher_request *req)
 	int err;
 
 	if (WARN_ON(req->dst) ||
-	    WARN_ON(!req->dst_len) ||
+	    !req->dst_len ||
 	    !ctx->key_size || req->src_len != ctx->key_size)
 		return -EINVAL;
 
drivers/ata/pata_sl82c105.c +3 -1
index ac7ddd87f188..78275b2479df 100644
@@ -265,6 +265,7 @@ static struct ata_port_operations sl82c105_port_ops = {
 static int sl82c105_bridge_revision(struct pci_dev *pdev)
 {
 	struct pci_dev *bridge;
+	u8 revision;
 
 	/*
 	 * The bridge should be part of the same device, but function 0.
@@ -286,8 +287,9 @@ static int sl82c105_bridge_revision(struct pci_dev *pdev)
 	/*
 	 * We need to find function 0's revision, not function 1
 	 */
+	revision = bridge->revision;
 	pci_dev_put(bridge);
-	return bridge->revision;
+	return revision;
 }
 
 static void sl82c105_fixup(struct pci_dev *pdev)
drivers/ata/sata_dwc_460ex.c +6 -15
index 464260f66870..26c3b287ac1f 100644
@@ -443,8 +443,7 @@ static void clear_serror(struct ata_port *ap)
 
 static void clear_interrupt_bit(struct sata_dwc_device *hsdev, u32 bit)
 {
-	sata_dwc_writel(&hsdev->sata_dwc_regs->intpr,
-			sata_dwc_readl(&hsdev->sata_dwc_regs->intpr));
+	sata_dwc_writel(&hsdev->sata_dwc_regs->intpr, bit);
 }
 
 static u32 qcmd_tag_to_mask(u8 tag)
@@ -512,7 +511,7 @@ static irqreturn_t sata_dwc_isr(int irq, void *dev_instance)
 	struct ata_queued_cmd *qc;
 	unsigned long flags;
 	u8 status, tag;
-	int handled, num_processed, port = 0;
+	int handled, port = 0;
 	uint intpr, sactive, sactive2, tag_mask;
 	struct sata_dwc_device_port *hsdevp;
 	hsdev->sactive_issued = 0;
@@ -651,16 +650,9 @@ static irqreturn_t sata_dwc_isr(int irq, void *dev_instance)
 	status = ap->ops->sff_check_status(ap);
 	dev_dbg(ap->dev, "%s ATA status register=0x%x\n", __func__, status);
 
-	tag = 0;
-	num_processed = 0;
 	while (tag_mask) {
-		num_processed++;
-		while (!(tag_mask & 0x00000001)) {
-			tag++;
-			tag_mask <<= 1;
-		}
-
-		tag_mask &= (~0x00000001);
+		tag = __ffs(tag_mask);
+		tag_mask &= ~(1U << tag);
 		qc = ata_qc_from_tag(ap, tag);
 
 		/* To be picked up by completion functions */
@@ -1246,9 +1238,6 @@ static int sata_dwc_probe(struct platform_device *ofdev)
 	/* Save dev for later use in dev_xxx() routines */
 	hsdev->dev = &ofdev->dev;
 
-	/* Enable SATA Interrupts */
-	sata_dwc_enable_interrupts(hsdev);
-
 	/* Get SATA interrupt number */
 	irq = irq_of_parse_and_map(np, 0);
 	if (irq == NO_IRQ) {
@@ -1281,6 +1270,8 @@ static int sata_dwc_probe(struct platform_device *ofdev)
 	if (err)
 		dev_err(&ofdev->dev, "failed to activate host");
 
+	/* Enable SATA Interrupts */
+	sata_dwc_enable_interrupts(hsdev);
 	return 0;
 
 error_out:
drivers/block/rbd.c +6 -1
index 70b4f01ce4b9..e45235925387 100644
@@ -2020,9 +2020,14 @@ static int rbd_object_map_update_finish(struct rbd_obj_request *obj_req,
 	bool has_current_state;
 	void *p;
 
-	if (osd_req->r_result)
+	if (osd_req->r_result < 0)
 		return osd_req->r_result;
 
+	/*
+	 * Writes aren't allowed to return a data payload.
+	 */
+	WARN_ON_ONCE(osd_req->r_result > 0);
+
 	/*
 	 * Nothing to do for a snapshot object map.
 	 */
drivers/cdrom/cdrom.c +1 -0
index 9a04e1083fca..1f34becea848 100644
@@ -3218,6 +3218,7 @@ static noinline int mmc_ioctl_cdrom_volume(struct cdrom_device_info *cdi,
 
 	/* set volume */
 	cgc->buffer = buffer + offset - 8;
+	cgc->buflen -= offset - 8;
 	memset(cgc->buffer, 0, 8);
 	return cdrom_mode_select(cdi, cgc);
 }
drivers/counter/microchip-tcb-capture.c +2 -2
index 40d02df8acf7..822c072ffa20 100644
@@ -317,7 +317,7 @@ static int mchp_tc_probe(struct platform_device *pdev)
 	char clk_name[7];
 	struct regmap *regmap;
 	struct clk *clk[3];
-	int channel;
+	u32 channel;
 	int ret, i;
 
 	priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
@@ -352,7 +352,7 @@ static int mchp_tc_probe(struct platform_device *pdev)
 
 		priv->channel[i] = channel;
 
-		snprintf(clk_name, sizeof(clk_name), "t%d_clk", channel);
+		snprintf(clk_name, sizeof(clk_name), "t%u_clk", channel);
 
 		clk[i] = of_clk_get_by_name(np->parent, clk_name);
 		if (IS_ERR(clk[i])) {
drivers/cpufreq/powernow-k8.c +1 -0
index 22d4c639d71d..40bb3845d52d 100644
@@ -1083,6 +1083,7 @@ static int powernowk8_cpu_init(struct cpufreq_policy *pol)
 
 err_out_exit_acpi:
 	powernow_k8_cpu_exit_acpi(data);
+	kfree(data->powernow_table);
 
 err_out:
 	kfree(data);
drivers/dma/sun6i-dma.c +4 -7
index f5f9c86c50bc..d846309921a7 100644
@@ -895,16 +895,13 @@ static int sun6i_dma_terminate_all(struct dma_chan *chan)
 
 	spin_lock_irqsave(&vchan->vc.lock, flags);
 
-	if (vchan->cyclic) {
-		vchan->cyclic = false;
-		if (pchan && pchan->desc) {
-			struct virt_dma_desc *vd = &pchan->desc->vd;
-			struct virt_dma_chan *vc = &vchan->vc;
+	if (pchan && pchan->desc && pchan->desc != pchan->done) {
+		struct virt_dma_desc *vd = &pchan->desc->vd;
 
-			list_add_tail(&vd->node, &vc->desc_completed);
-		}
+		vchan_terminate_vdesc(vd);
 	}
 
+	vchan->cyclic = false;
 	vchan_get_all_descriptors(&vchan->vc, &head);
 
 	if (pchan) {
drivers/firewire/net.c +21 -18
index 715e491dfbc3..8678ded9360a 100644
@@ -306,31 +306,34 @@ static struct fwnet_fragment_info *fwnet_frag_new(
 		if (fi->offset + fi->len == offset) {
 			/* The new fragment can be tacked on to the end */
 			/* Did the new fragment plug a hole? */
-			fi2 = list_entry(fi->fi_link.next,
-					 struct fwnet_fragment_info, fi_link);
-			if (fi->offset + fi->len == fi2->offset) {
-				/* glue fragments together */
-				fi->len += len + fi2->len;
-				list_del(&fi2->fi_link);
-				kfree(fi2);
-			} else {
-				fi->len += len;
+			if (!list_is_last(&fi->fi_link, &pd->fi_list)) {
+				fi2 = list_next_entry(fi, fi_link);
+				if (offset + len == fi2->offset) {
+					/* glue fragments together */
+					fi->len += len + fi2->len;
+					list_del(&fi2->fi_link);
+					kfree(fi2);
+
+					return fi;
+				}
 			}
+			fi->len += len;
 
 			return fi;
 		}
 		if (offset + len == fi->offset) {
 			/* The new fragment can be tacked on to the beginning */
 			/* Did the new fragment plug a hole? */
-			fi2 = list_entry(fi->fi_link.prev,
-					 struct fwnet_fragment_info, fi_link);
-			if (fi2->offset + fi2->len == fi->offset) {
-				/* glue fragments together */
-				fi2->len += fi->len + len;
-				list_del(&fi->fi_link);
-				kfree(fi);
-
-				return fi2;
+			if (!list_is_first(&fi->fi_link, &pd->fi_list)) {
+				fi2 = list_prev_entry(fi, fi_link);
+				if (fi2->offset + fi2->len == offset) {
+					/* glue fragments together */
+					fi2->len += fi->len + len;
+					list_del(&fi->fi_link);
+					kfree(fi);
+
+					return fi2;
+				}
 			}
 			fi->offset = offset;
 			fi->len += len;
drivers/firmware/arm_scmi/notify.c +3 -3
index 66196b293b6c..99887349de23 100644
@@ -594,9 +594,9 @@ int scmi_notify(const struct scmi_handle *handle, u8 proto_id, u8 evt_id,
 		return -EINVAL;
 	}
 	if (kfifo_avail(&r_evt->proto->equeue.kfifo) < sizeof(eh) + len) {
-		dev_warn(handle->dev,
-			 "queue full, dropping proto_id:%d  evt_id:%d  ts:%lld\n",
-			 proto_id, evt_id, ktime_to_ns(ts));
+		dev_warn_ratelimited(handle->dev,
+				     "queue full, dropping proto_id:%d  evt_id:%d  ts:%lld\n",
+				     proto_id, evt_id, ktime_to_ns(ts));
 		return -ENOMEM;
 	}
 
drivers/firmware/stratix10-svc.c +5 -4
index 6b6a819fcddf..ae6d942ab2d7 100644
@@ -911,13 +911,15 @@ void *stratix10_svc_allocate_memory(struct stratix10_svc_chan *chan,
 	struct gen_pool *genpool = chan->ctrl->genpool;
 	size_t s = roundup(size, 1 << genpool->min_alloc_order);
 
-	pmem = devm_kzalloc(chan->ctrl->dev, sizeof(*pmem), GFP_KERNEL);
+	pmem = kzalloc(sizeof(*pmem), GFP_KERNEL);
 	if (!pmem)
 		return ERR_PTR(-ENOMEM);
 
 	va = gen_pool_alloc(genpool, s);
-	if (!va)
+	if (!va) {
+		kfree(pmem);
 		return ERR_PTR(-ENOMEM);
+	}
 
 	memset((void *)va, 0, s);
 	pa = gen_pool_virt_to_phys(genpool, va);
@@ -950,10 +952,9 @@ void stratix10_svc_free_memory(struct stratix10_svc_chan *chan, void *kaddr)
 				       (unsigned long)kaddr, pmem->size);
 			pmem->vaddr = NULL;
 			list_del(&pmem->node);
+			kfree(pmem);
 			return;
 		}
-
-	list_del(&svc_data_mem);
 }
 EXPORT_SYMBOL_GPL(stratix10_svc_free_memory);
 
drivers/gpio/gpio-pch.c +14 -14
index a552df298a97..af4b3b7f3033 100644
@@ -92,7 +92,7 @@ struct pch_gpio {
 	struct pch_gpio_reg_data pch_gpio_reg;
 	int irq_base;
 	enum pch_type_t ioh;
-	spinlock_t spinlock;
+	raw_spinlock_t spinlock;
 };
 
 static void pch_gpio_set(struct gpio_chip *gpio, unsigned int nr, int val)
@@ -101,7 +101,7 @@ static void pch_gpio_set(struct gpio_chip *gpio, unsigned int nr, int val)
 	struct pch_gpio *chip =	gpiochip_get_data(gpio);
 	unsigned long flags;
 
-	spin_lock_irqsave(&chip->spinlock, flags);
+	raw_spin_lock_irqsave(&chip->spinlock, flags);
 	reg_val = ioread32(&chip->reg->po);
 	if (val)
 		reg_val |= BIT(nr);
@@ -109,7 +109,7 @@ static void pch_gpio_set(struct gpio_chip *gpio, unsigned int nr, int val)
 		reg_val &= ~BIT(nr);
 
 	iowrite32(reg_val, &chip->reg->po);
-	spin_unlock_irqrestore(&chip->spinlock, flags);
+	raw_spin_unlock_irqrestore(&chip->spinlock, flags);
 }
 
 static int pch_gpio_get(struct gpio_chip *gpio, unsigned int nr)
@@ -127,7 +127,7 @@ static int pch_gpio_direction_output(struct gpio_chip *gpio, unsigned int nr,
 	u32 reg_val;
 	unsigned long flags;
 
-	spin_lock_irqsave(&chip->spinlock, flags);
+	raw_spin_lock_irqsave(&chip->spinlock, flags);
 
 	reg_val = ioread32(&chip->reg->po);
 	if (val)
@@ -141,7 +141,7 @@ static int pch_gpio_direction_output(struct gpio_chip *gpio, unsigned int nr,
 	pm |= BIT(nr);
 	iowrite32(pm, &chip->reg->pm);
 
-	spin_unlock_irqrestore(&chip->spinlock, flags);
+	raw_spin_unlock_irqrestore(&chip->spinlock, flags);
 
 	return 0;
 }
@@ -152,12 +152,12 @@ static int pch_gpio_direction_input(struct gpio_chip *gpio, unsigned int nr)
 	u32 pm;
 	unsigned long flags;
 
-	spin_lock_irqsave(&chip->spinlock, flags);
+	raw_spin_lock_irqsave(&chip->spinlock, flags);
 	pm = ioread32(&chip->reg->pm);
 	pm &= BIT(gpio_pins[chip->ioh]) - 1;
 	pm &= ~BIT(nr);
 	iowrite32(pm, &chip->reg->pm);
-	spin_unlock_irqrestore(&chip->spinlock, flags);
+	raw_spin_unlock_irqrestore(&chip->spinlock, flags);
 
 	return 0;
 }
@@ -259,7 +259,7 @@ static int pch_irq_type(struct irq_data *d, unsigned int type)
 		return 0;
 	}
 
-	spin_lock_irqsave(&chip->spinlock, flags);
+	raw_spin_lock_irqsave(&chip->spinlock, flags);
 
 	/* Set interrupt mode */
 	im = ioread32(im_reg) & ~(PCH_IM_MASK << (im_pos * 4));
@@ -271,7 +271,7 @@ static int pch_irq_type(struct irq_data *d, unsigned int type)
 	else if (type & IRQ_TYPE_EDGE_BOTH)
 		irq_set_handler_locked(d, handle_edge_irq);
 
-	spin_unlock_irqrestore(&chip->spinlock, flags);
+	raw_spin_unlock_irqrestore(&chip->spinlock, flags);
 	return 0;
 }
 
@@ -378,7 +378,7 @@ static int pch_gpio_probe(struct pci_dev *pdev,
 
 	chip->reg = chip->base;
 	pci_set_drvdata(pdev, chip);
-	spin_lock_init(&chip->spinlock);
+	raw_spin_lock_init(&chip->spinlock);
 	pch_gpio_setup(chip);
 
 	ret = devm_gpiochip_add_data(&pdev->dev, &chip->gpio, chip);
@@ -415,9 +415,9 @@ static int __maybe_unused pch_gpio_suspend(struct device *dev)
 	struct pch_gpio *chip = dev_get_drvdata(dev);
 	unsigned long flags;
 
-	spin_lock_irqsave(&chip->spinlock, flags);
+	raw_spin_lock_irqsave(&chip->spinlock, flags);
 	pch_gpio_save_reg_conf(chip);
-	spin_unlock_irqrestore(&chip->spinlock, flags);
+	raw_spin_unlock_irqrestore(&chip->spinlock, flags);
 
 	return 0;
 }
@@ -427,11 +427,11 @@ static int __maybe_unused pch_gpio_resume(struct device *dev)
 	struct pch_gpio *chip = dev_get_drvdata(dev);
 	unsigned long flags;
 
-	spin_lock_irqsave(&chip->spinlock, flags);
+	raw_spin_lock_irqsave(&chip->spinlock, flags);
 	iowrite32(0x01, &chip->reg->reset);
 	iowrite32(0x00, &chip->reg->reset);
 	pch_gpio_restore_reg_conf(chip);
-	spin_unlock_irqrestore(&chip->spinlock, flags);
+	raw_spin_unlock_irqrestore(&chip->spinlock, flags);
 
 	return 0;
 }
drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c +2 -0
index eb68b0f1da82..173ac5677d46 100644
@@ -466,7 +466,9 @@ static int acp_hw_fini(void *handle)
 
 	mfd_remove_devices(adev->acp.parent);
 	kfree(adev->acp.acp_res);
+	pm_genpd_remove(&adev->acp.acp_genpd->gpd);
 	kfree(adev->acp.acp_genpd);
+	adev->acp.acp_genpd = NULL;
 	kfree(adev->acp.acp_cell);
 
 	return 0;
drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c +40 -5

57 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +8 -5
index 6937f8134008..60233cd18fad 100644
@@ -275,10 +275,12 @@ int amdgpu_bo_create_reserved(struct amdgpu_device *adev,
 		goto error_free;
 	}
 
-	r = amdgpu_bo_pin(*bo_ptr, domain);
-	if (r) {
-		dev_err(adev->dev, "(%d) kernel bo pin failed\n", r);
-		goto error_unreserve;
+	if (free) {
+		r = amdgpu_bo_pin(*bo_ptr, domain);
+		if (r) {
+			dev_err(adev->dev, "(%d) kernel bo pin failed\n", r);
+			goto error_unreserve;
+		}
 	}
 
 	r = amdgpu_ttm_alloc_gart(&(*bo_ptr)->tbo);
@@ -301,7 +303,8 @@ int amdgpu_bo_create_reserved(struct amdgpu_device *adev,
 	return 0;
 
 error_unpin:
-	amdgpu_bo_unpin(*bo_ptr);
+	if (free)
+		amdgpu_bo_unpin(*bo_ptr);
 error_unreserve:
 	amdgpu_bo_unreserve(*bo_ptr);
 
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +12 -0
index 0faa5ad26d61..228da106477d 100644
@@ -1979,6 +1979,18 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
 	else
 		gtt_size = (uint64_t)amdgpu_gtt_size << 20;
 
+	/* Cap GTT so that it does not exceed total physical RAM. */
+	if (adev->flags & AMD_IS_APU) {
+		u64 phys_ram = (u64)totalram_pages() << PAGE_SHIFT;
+
+		if (gtt_size > phys_ram) {
+			gtt_size = phys_ram;
+			dev_info(adev->dev,
+				 "Capping GTT to %uM to not exceed available system memory\n",
+				 (unsigned int)(gtt_size / (1024 * 1024)));
+		}
+	}
+
 	/* Initialize GTT memory pool */
 	r = amdgpu_gtt_mgr_init(adev, gtt_size);
 	if (r) {
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +8 -0
index 665ead139c30..25095536b8ca 100644
@@ -567,6 +567,14 @@ static int amdgpu_uvd_cs_msg_decode(struct amdgpu_device *adev, uint32_t *msg,
 	unsigned image_size, tmp, min_dpb_size, num_dpb_buffer;
 	unsigned min_ctx_size = ~0;
 
+	/* Reject invalid dimensions to prevent division by zero */
+	if (width < 16 || height < 16) {
+		dev_WARN_ONCE(adev->dev, 1,
+			      "Invalid UVD decoding dimensions (%dx%d)!\n",
+			      width, height);
+		return -EINVAL;
+	}
+
 	image_size = width * height;
 	image_size += image_size / 2;
 	image_size = ALIGN(image_size, 1024);
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +5 -8
index 567183a69660..9f286026226d 100644
@@ -3437,7 +3437,7 @@ static void gfx_v10_0_wait_reg_mem(struct amdgpu_ring *ring, int eng_sel,
 			   WAIT_REG_MEM_ENGINE(eng_sel)));
 
 	if (mem_space)
-		BUG_ON(addr0 & 0x3); /* Dword align */
+		WARN_ON(addr0 & 0x3); /* Dword align */
 	amdgpu_ring_write(ring, addr0);
 	amdgpu_ring_write(ring, addr1);
 	amdgpu_ring_write(ring, ref);
@@ -7811,7 +7811,7 @@ static void gfx_v10_0_ring_emit_ib_gfx(struct amdgpu_ring *ring,
 	}
 
 	amdgpu_ring_write(ring, header);
-	BUG_ON(ib->gpu_addr & 0x3); /* Dword align */
+	WARN_ON(ib->gpu_addr & 0x3); /* Dword align */
 	amdgpu_ring_write(ring,
 #ifdef __BIG_ENDIAN
 		(2 << 0) |
@@ -7846,7 +7846,7 @@ static void gfx_v10_0_ring_emit_ib_compute(struct amdgpu_ring *ring,
 	}
 
 	amdgpu_ring_write(ring, PACKET3(PACKET3_INDIRECT_BUFFER, 2));
-	BUG_ON(ib->gpu_addr & 0x3); /* Dword align */
+	WARN_ON(ib->gpu_addr & 0x3); /* Dword align */
 	amdgpu_ring_write(ring,
 #ifdef __BIG_ENDIAN
 				(2 << 0) |
@@ -7879,9 +7879,9 @@ static void gfx_v10_0_ring_emit_fence(struct amdgpu_ring *ring, u64 addr,
 	 * aligned if only send 32bit data low (discard data high)
 	 */
 	if (write64bit)
-		BUG_ON(addr & 0x7);
+		WARN_ON(addr & 0x7);
 	else
-		BUG_ON(addr & 0x3);
+		WARN_ON(addr & 0x3);
 	amdgpu_ring_write(ring, lower_32_bits(addr));
 	amdgpu_ring_write(ring, upper_32_bits(addr));
 	amdgpu_ring_write(ring, lower_32_bits(seq));
@@ -7917,9 +7917,6 @@ static void gfx_v10_0_ring_emit_fence_kiq(struct amdgpu_ring *ring, u64 addr,
 {
 	struct amdgpu_device *adev = ring->adev;
 
-	/* we only allocate 32bit for each seq wb address */
-	BUG_ON(flags & AMDGPU_FENCE_FLAG_64BIT);
-
 	/* write fence seq to the "addr" */
 	amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3));
 	amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(0) |
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +0 -3
index 0459e7b71945..7e8dfe8aa203 100644
@@ -6292,9 +6292,6 @@ static void gfx_v8_0_ring_emit_fence_compute(struct amdgpu_ring *ring,
 static void gfx_v8_0_ring_emit_fence_kiq(struct amdgpu_ring *ring, u64 addr,
 					 u64 seq, unsigned int flags)
 {
-	/* we only allocate 32bit for each seq wb address */
-	BUG_ON(flags & AMDGPU_FENCE_FLAG_64BIT);
-
 	/* write fence seq to the "addr" */
 	amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3));
 	amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(0) |
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +5 -5
index 86bba36938b8..5a66aca7972d 100644
@@ -1028,7 +1028,7 @@ static void gfx_v9_0_wait_reg_mem(struct amdgpu_ring *ring, int eng_sel,
 				 WAIT_REG_MEM_ENGINE(eng_sel)));
 
 	if (mem_space)
-		BUG_ON(addr0 & 0x3); /* Dword align */
+		WARN_ON(addr0 & 0x3); /* Dword align */
 	amdgpu_ring_write(ring, addr0);
 	amdgpu_ring_write(ring, addr1);
 	amdgpu_ring_write(ring, ref);
@@ -5295,7 +5295,7 @@ static void gfx_v9_0_ring_emit_ib_gfx(struct amdgpu_ring *ring,
 	}
 
 	amdgpu_ring_write(ring, header);
-	BUG_ON(ib->gpu_addr & 0x3); /* Dword align */
+	WARN_ON(ib->gpu_addr & 0x3); /* Dword align */
 	amdgpu_ring_write(ring,
 #ifdef __BIG_ENDIAN
 		(2 << 0) |
@@ -5330,7 +5330,7 @@ static void gfx_v9_0_ring_emit_ib_compute(struct amdgpu_ring *ring,
 	}
 
 	amdgpu_ring_write(ring, PACKET3(PACKET3_INDIRECT_BUFFER, 2));
-	BUG_ON(ib->gpu_addr & 0x3); /* Dword align */
+	WARN_ON(ib->gpu_addr & 0x3); /* Dword align */
 	amdgpu_ring_write(ring,
 #ifdef __BIG_ENDIAN
 				(2 << 0) |
@@ -5364,9 +5364,9 @@ static void gfx_v9_0_ring_emit_fence(struct amdgpu_ring *ring, u64 addr,
 	 * aligned if only send 32bit data low (discard data high)
 	 */
 	if (write64bit)
-		BUG_ON(addr & 0x7);
+		WARN_ON(addr & 0x7);
 	else
-		BUG_ON(addr & 0x3);
+		WARN_ON(addr & 0x3);
 	amdgpu_ring_write(ring, lower_32_bits(addr));
 	amdgpu_ring_write(ring, upper_32_bits(addr));
 	amdgpu_ring_write(ring, lower_32_bits(seq));
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c +2 -2
index be23d637c3d7..47915d657a1f 100644
@@ -487,7 +487,7 @@ static void sdma_v5_0_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 se
 	amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_FENCE) |
 			  SDMA_PKT_FENCE_HEADER_MTYPE(0x3)); /* Ucached(UC) */
 	/* zero in first two bits */
-	BUG_ON(addr & 0x3);
+	WARN_ON(addr & 0x3);
 	amdgpu_ring_write(ring, lower_32_bits(addr));
 	amdgpu_ring_write(ring, upper_32_bits(addr));
 	amdgpu_ring_write(ring, lower_32_bits(seq));
@@ -498,7 +498,7 @@ static void sdma_v5_0_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 se
 		amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_FENCE) |
 				  SDMA_PKT_FENCE_HEADER_MTYPE(0x3));
 		/* zero in first two bits */
-		BUG_ON(addr & 0x3);
+		WARN_ON(addr & 0x3);
 		amdgpu_ring_write(ring, lower_32_bits(addr));
 		amdgpu_ring_write(ring, upper_32_bits(addr));
 		amdgpu_ring_write(ring, upper_32_bits(seq));
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c +2 -2
index ad36f337c8a8..b91dd3bd5f23 100644
@@ -425,7 +425,7 @@ static void sdma_v5_2_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 se
 	amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_FENCE) |
 			  SDMA_PKT_FENCE_HEADER_MTYPE(0x3)); /* Ucached(UC) */
 	/* zero in first two bits */
-	BUG_ON(addr & 0x3);
+	WARN_ON(addr & 0x3);
 	amdgpu_ring_write(ring, lower_32_bits(addr));
 	amdgpu_ring_write(ring, upper_32_bits(addr));
 	amdgpu_ring_write(ring, lower_32_bits(seq));
@@ -436,7 +436,7 @@ static void sdma_v5_2_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 se
 		amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_FENCE) |
 				  SDMA_PKT_FENCE_HEADER_MTYPE(0x3));
 		/* zero in first two bits */
-		BUG_ON(addr & 0x3);
+		WARN_ON(addr & 0x3);
 		amdgpu_ring_write(ring, lower_32_bits(addr));
 		amdgpu_ring_write(ring, upper_32_bits(addr));
 		amdgpu_ring_write(ring, upper_32_bits(seq));
drivers/gpu/drm/amd/pm/powerplay/hwmgr/hwmgr.c +2 -5
index 974a17a95324..4d3aa5fc6c66 100644
@@ -110,11 +110,8 @@ int hwmgr_early_init(struct pp_hwmgr *hwmgr)
 		hwmgr->od_enabled = false;
 		switch (hwmgr->chip_id) {
 		case CHIP_BONAIRE:
-			/* R9 M380 in iMac 2015: SMU hangs when enabling MCLK DPM
-			 * R7 260X cards with old MC ucode: MCLK DPM is unstable
-			 */
-			if (adev->pdev->subsystem_vendor == 0x106B ||
-			    adev->pdev->device == 0x6658) {
+			/* R9 M380 in iMac 2015: SMU hangs when enabling MCLK DPM */
+			if (adev->pdev->subsystem_vendor == 0x106B) {
 				dev_info(adev->dev, "disabling MCLK DPM on quirky ASIC");
 				adev->pm.pp_feature &= ~PP_MCLK_DPM_MASK;
 				hwmgr->feature_mask &= ~PP_MCLK_DPM_MASK;
drivers/gpu/drm/i915/gt/intel_engine_user.c +1 -1
index da21d2a10cc9..9aa7040e295e 100644
@@ -232,7 +232,7 @@ void intel_engines_driver_register(struct drm_i915_private *i915)
 		p = &prev->rb_right;
 	}
 
-	if (IS_ENABLED(CONFIG_DRM_I915_SELFTESTS) &&
+	if (IS_ENABLED(CONFIG_DRM_I915_SELFTEST) &&
 	    IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)) {
 		struct intel_engine_cs *engine;
 		unsigned int isolation;
drivers/gpu/drm/i915/gt/selftest_gt_pm.c +4 -4
index 6180a47c1b51..9ec66ef774cf 100644
@@ -17,9 +17,9 @@ static int cmp_u64(const void *A, const void *B)
 {
 	const u64 *a = A, *b = B;
 
-	if (a < b)
+	if (*a < *b)
 		return -1;
-	else if (a > b)
+	else if (*a > *b)
 		return 1;
 	else
 		return 0;
@@ -29,9 +29,9 @@ static int cmp_u32(const void *A, const void *B)
 {
 	const u32 *a = A, *b = B;
 
-	if (a < b)
+	if (*a < *b)
 		return -1;
-	else if (a > b)
+	else if (*a > *b)
 		return 1;
 	else
 		return 0;
drivers/gpu/drm/nouveau/nvkm/subdev/acr/base.c +1 -0
index c962df9910dd..73c090e28bc9 100644
@@ -314,6 +314,7 @@ nvkm_acr_oneinit(struct nvkm_subdev *subdev)
 					  i, us, fw);
 			}
 		}
+		nvkm_done(acr->wpr);
 		return -EINVAL;
 	}
 	nvkm_done(acr->wpr);
drivers/gpu/drm/radeon/r100.c +9 -4
index 654155b440e5..ccda12ba4e94 100644
@@ -895,6 +895,7 @@ struct radeon_fence *r100_copy_blit(struct radeon_device *rdev,
 {
 	struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX];
 	struct radeon_fence *fence;
+	uint64_t cur_src_offset, cur_dst_offset;
 	uint32_t cur_pages;
 	uint32_t stride_bytes = RADEON_GPU_PAGE_SIZE;
 	uint32_t pitch;
@@ -923,6 +924,10 @@ struct radeon_fence *r100_copy_blit(struct radeon_device *rdev,
 			cur_pages = 8191;
 		}
 		num_gpu_pages -= cur_pages;
+		cur_src_offset = src_offset +
+			(uint64_t)num_gpu_pages * RADEON_GPU_PAGE_SIZE;
+		cur_dst_offset = dst_offset +
+			(uint64_t)num_gpu_pages * RADEON_GPU_PAGE_SIZE;
 
 		/* pages are in Y direction - height
 		   page width in X direction - width */
@@ -939,13 +944,13 @@ struct radeon_fence *r100_copy_blit(struct radeon_device *rdev,
 				  RADEON_DP_SRC_SOURCE_MEMORY |
 				  RADEON_GMC_CLR_CMP_CNTL_DIS |
 				  RADEON_GMC_WR_MSK_DIS);
-		radeon_ring_write(ring, (pitch << 22) | (src_offset >> 10));
-		radeon_ring_write(ring, (pitch << 22) | (dst_offset >> 10));
+		radeon_ring_write(ring, (pitch << 22) | (cur_src_offset >> 10));
+		radeon_ring_write(ring, (pitch << 22) | (cur_dst_offset >> 10));
 		radeon_ring_write(ring, (0x1fff) | (0x1fff << 16));
 		radeon_ring_write(ring, 0);
 		radeon_ring_write(ring, (0x1fff) | (0x1fff << 16));
-		radeon_ring_write(ring, num_gpu_pages);
-		radeon_ring_write(ring, num_gpu_pages);
+		radeon_ring_write(ring, 0);
+		radeon_ring_write(ring, 0);
 		radeon_ring_write(ring, cur_pages | (stride_pixels << 16));
 	}
 	radeon_ring_write(ring, PACKET0(RADEON_DSTCACHE_CTLSTAT, 0));
drivers/gpu/drm/rockchip/cdn-dp-reg.c +2 -0
index 33fb4d05c506..7b16c28ba25a 100644
@@ -683,6 +683,8 @@ int cdn_dp_config_video(struct cdn_dp_device *dp)
 	val = div_u64(8 * (symbol + 1), bit_per_pix) - val;
 	val += 2;
 	ret = cdn_dp_reg_write(dp, DP_VC_TABLE(15), val);
+	if (ret)
+		goto err_config_video;
 
 	switch (video->color_depth) {
 	case 6:
drivers/gpu/drm/vc4/vc4_validate.c +23 -6
index eec76af49f04..985572a012d3 100644
@@ -379,6 +379,23 @@ validate_tile_binning_config(VALIDATE_ARGS)
 		return -EINVAL;
 	}
 
+	/* The tile state data array is 48 bytes per tile, and we put it at
+	 * the start of a BO containing both it and the tile alloc.
+	 */
+	tile_state_size = 48 * tile_count;
+
+	/* Since the tile alloc array will follow us, align. */
+	tile_state_size = roundup(tile_state_size, 4096);
+
+	/* Reject configurations whose tile state would leave no room for
+	 * the tile alloc pool that follows it in the slot.
+	 */
+	if (tile_state_size >= vc4->bin_alloc_size) {
+		DRM_DEBUG("Tile binning config of %dx%d too large\n",
+			  exec->bin_tiles_x, exec->bin_tiles_y);
+		return -EINVAL;
+	}
+
 	bin_slot = vc4_v3d_get_bin_slot(vc4);
 	if (bin_slot < 0) {
 		if (bin_slot != -EINTR && bin_slot != -ERESTARTSYS) {
@@ -394,13 +411,13 @@ validate_tile_binning_config(VALIDATE_ARGS)
 	exec->bin_slots |= BIT(bin_slot);
 	bin_addr = vc4->bin_bo->base.paddr + bin_slot * vc4->bin_alloc_size;
 
-	/* The tile state data array is 48 bytes per tile, and we put it at
-	 * the start of a BO containing both it and the tile alloc.
-	 */
-	tile_state_size = 48 * tile_count;
+	exec->tile_alloc_offset = bin_addr + tile_state_size;
 
-	/* Since the tile alloc array will follow us, align. */
-	exec->tile_alloc_offset = bin_addr + roundup(tile_state_size, 4096);
+	/* The TSDA area must be zeroed out before use, otherwise the PTB might
+	 * consume a stale tile state.
+	 */
+	memset(vc4->bin_bo->base.vaddr + bin_slot * vc4->bin_alloc_size, 0,
+	       tile_state_size);
 
 	*(uint8_t *)(validated + 14) =
 		((flags & ~(VC4_BIN_CONFIG_ALLOC_INIT_BLOCK_SIZE_MASK |
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c +13 -1
index 9bec26fda14c..24443f6fd659 100644
@@ -1529,6 +1529,12 @@ static int vmw_cmd_dma(struct vmw_private *dev_priv,
 	bool dirty;
 
 	cmd = container_of(header, typeof(*cmd), header);
+
+	if (unlikely(header->size < sizeof(cmd->body) + sizeof(*suffix))) {
+		VMW_DEBUG_USER("Illegal SVGA_3D_CMD_SURFACE_DMA size.\n");
+		return -EINVAL;
+	}
+
 	suffix = (SVGA3dCmdSurfaceDMASuffix *)((unsigned long) &cmd->body +
 					       header->size - sizeof(*suffix));
 
@@ -1590,11 +1596,17 @@ static int vmw_cmd_draw(struct vmw_private *dev_priv,
 	uint32_t maxnum;
 	int ret;
 
+	cmd = container_of(header, typeof(*cmd), header);
+
+	if (unlikely(header->size < sizeof(cmd->body))) {
+		VMW_DEBUG_USER("Illegal DRAW_PRIMITIVES header size.\n");
+		return -EINVAL;
+	}
+
 	ret = vmw_cmd_cid_check(dev_priv, sw_context, header);
 	if (unlikely(ret != 0))
 		return ret;
 
-	cmd = container_of(header, typeof(*cmd), header);
 	maxnum = (header->size - sizeof(cmd->body)) / sizeof(*decl);
 
 	if (unlikely(cmd->body.numVertexDecls > maxnum)) {
drivers/gpu/drm/vmwgfx/vmwgfx_surface.c +17 -5
index f1a51371de5b..0005016a9be7 100644
@@ -101,7 +101,7 @@ static int vmw_gb_surface_unbind(struct vmw_resource *res,
 static int vmw_gb_surface_destroy(struct vmw_resource *res);
 static int
 vmw_gb_surface_define_internal(struct drm_device *dev,
-			       struct drm_vmw_gb_surface_create_ext_req *req,
+			       const  struct drm_vmw_gb_surface_create_ext_req *req,
 			       struct drm_vmw_gb_surface_create_rep *rep,
 			       struct drm_file *file_priv);
 static int
@@ -1450,7 +1450,7 @@ int vmw_gb_surface_reference_ext_ioctl(struct drm_device *dev, void *data,
  */
 static int
 vmw_gb_surface_define_internal(struct drm_device *dev,
-			       struct drm_vmw_gb_surface_create_ext_req *req,
+			       const  struct drm_vmw_gb_surface_create_ext_req *req,
 			       struct drm_vmw_gb_surface_create_rep *rep,
 			       struct drm_file *file_priv)
 {
@@ -1469,9 +1469,21 @@ vmw_gb_surface_define_internal(struct drm_device *dev,
 				req->base.svga3d_flags);
 
 	/* array_size must be null for non-GL3 host. */
-	if (req->base.array_size > 0 && !has_sm4_context(dev_priv)) {
-		VMW_DEBUG_USER("SM4 surface not supported.\n");
-		return -EINVAL;
+	if (req->base.array_size > 0) {
+		if (has_sm5_context(dev_priv)) {
+			if (req->base.array_size > SVGA3D_SM5_MAX_SURFACE_ARRAYSIZE) {
+				VMW_DEBUG_USER("Invalid Surface Array Size.\n");
+				return -EINVAL;
+			}
+		} else if (has_sm4_context(dev_priv)) {
+			if (req->base.array_size > SVGA3D_SM4_MAX_SURFACE_ARRAYSIZE) {
+				VMW_DEBUG_USER("Invalid Surface Array Size.\n");
+				return -EINVAL;
+			}
+		} else {
+			VMW_DEBUG_USER("SM4+ surface not supported.\n");
+			return -EINVAL;
+		}
 	}
 
 	if (!has_sm4_1_context(dev_priv)) {
drivers/hid/hid-logitech-dj.c +22 -6
index bd31315fdaf5..93d1280bce85 100644
@@ -1668,7 +1668,8 @@ static int logi_dj_raw_event(struct hid_device *hdev,
 static int logi_dj_probe(struct hid_device *hdev,
 			 const struct hid_device_id *id)
 {
-	struct hid_report_enum *rep_enum;
+	struct hid_report_enum *input_report_enum;
+	struct hid_report_enum *output_report_enum;
 	struct hid_report *rep;
 	struct dj_receiver_dev *djrcv_dev;
 	struct usb_interface *intf;
@@ -1711,10 +1712,25 @@ static int logi_dj_probe(struct hid_device *hdev,
 		}
 	}
 
-	rep_enum = &hdev->report_enum[HID_INPUT_REPORT];
+	output_report_enum = &hdev->report_enum[HID_OUTPUT_REPORT];
+	rep = output_report_enum->report_id_hash[REPORT_ID_DJ_SHORT];
+
+	if (rep && rep->maxfield < 1) {
+		hid_err(hdev, "Expected size of DJ short report is %d, but got 0",
+			DJREPORT_SHORT_LENGTH - 1);
+		return -EINVAL;
+	}
+
+	if (rep && rep->field[0]->report_count != DJREPORT_SHORT_LENGTH - 1) {
+		hid_err(hdev, "Expected size of DJ short report is %d, but got %d",
+			DJREPORT_SHORT_LENGTH - 1, rep->field[0]->report_count);
+		return -EINVAL;
+	}
+
+	input_report_enum = &hdev->report_enum[HID_INPUT_REPORT];
 
 	/* no input reports, bail out */
-	if (list_empty(&rep_enum->report_list))
+	if (list_empty(&input_report_enum->report_list))
 		return -ENODEV;
 
 	/*
@@ -1722,7 +1738,7 @@ static int logi_dj_probe(struct hid_device *hdev,
 	 * Note: we should theoretically check for HID++ and DJ
 	 * collections, but this will do.
 	 */
-	list_for_each_entry(rep, &rep_enum->report_list, list) {
+	list_for_each_entry(rep, &input_report_enum->report_list, list) {
 		if (rep->application == 0xff000001)
 			has_hidpp = true;
 	}
@@ -1735,7 +1751,7 @@ static int logi_dj_probe(struct hid_device *hdev,
 		return -ENODEV;
 
 	/* get the current application attached to the node */
-	rep = list_first_entry(&rep_enum->report_list, struct hid_report, list);
+	rep = list_first_entry(&input_report_enum->report_list, struct hid_report, list);
 	djrcv_dev = dj_get_receiver_dev(hdev, id->driver_data,
 					rep->application, has_hidpp);
 	if (!djrcv_dev) {
@@ -1743,7 +1759,7 @@ static int logi_dj_probe(struct hid_device *hdev,
 		return -ENOMEM;
 	}
 
-	if (!rep_enum->numbered)
+	if (!input_report_enum->numbered)
 		djrcv_dev->unnumbered_application = rep->application;
 
 	/* Starts the usb device and connects to upper interfaces hiddev and
drivers/hwmon/Kconfig +1 -0
index 606cb865195f..efb851d72699 100644
@@ -239,6 +239,7 @@ config SENSORS_ADT7462
 config SENSORS_ADT7470
 	tristate "Analog Devices ADT7470"
 	depends on I2C
+	select REGMAP_I2C
 	help
 	  If you say yes here you get support for the Analog Devices
 	  ADT7470 temperature monitoring chips.
drivers/hwmon/adt7470.c +387 -214

1,085 lines not on this page · raw message

drivers/hwmon/corsair-cpro.c +1 -0
index 074f812332e8..f117479096ef 100644
@@ -557,6 +557,7 @@ static int ccp_probe(struct hid_device *hdev, const struct hid_device_id *id)
 
 out_hw_close:
 	hid_hw_close(hdev);
+	hid_device_io_stop(hdev);
 out_hw_stop:
 	hid_hw_stop(hdev);
 	return ret;
drivers/hwmon/nct6775.c +6 -6
index 71cfc1c5bd12..5428b5b4043d 100644
@@ -851,12 +851,12 @@ static const u16 NCT6106_REG_TOLERANCE_H[] = { 0x112, 0x122, 0x132 };
 
 static const u16 NCT6106_REG_TARGET[] = { 0x111, 0x121, 0x131 };
 
-static const u16 NCT6106_REG_WEIGHT_TEMP_SEL[] = { 0x168, 0x178, 0x188 };
-static const u16 NCT6106_REG_WEIGHT_TEMP_STEP[] = { 0x169, 0x179, 0x189 };
-static const u16 NCT6106_REG_WEIGHT_TEMP_STEP_TOL[] = { 0x16a, 0x17a, 0x18a };
-static const u16 NCT6106_REG_WEIGHT_DUTY_STEP[] = { 0x16b, 0x17b, 0x18b };
-static const u16 NCT6106_REG_WEIGHT_TEMP_BASE[] = { 0x16c, 0x17c, 0x18c };
-static const u16 NCT6106_REG_WEIGHT_DUTY_BASE[] = { 0x16d, 0x17d, 0x18d };
+static const u16 NCT6106_REG_WEIGHT_TEMP_SEL[] = { 0x168, 0x178, 0x188, 0, 0 };
+static const u16 NCT6106_REG_WEIGHT_TEMP_STEP[] = { 0x169, 0x179, 0x189, 0, 0 };
+static const u16 NCT6106_REG_WEIGHT_TEMP_STEP_TOL[] = { 0x16a, 0x17a, 0x18a, 0, 0 };
+static const u16 NCT6106_REG_WEIGHT_DUTY_STEP[] = { 0x16b, 0x17b, 0x18b, 0, 0 };
+static const u16 NCT6106_REG_WEIGHT_TEMP_BASE[] = { 0x16c, 0x17c, 0x18c, 0, 0 };
+static const u16 NCT6106_REG_WEIGHT_DUTY_BASE[] = { 0x16d, 0x17d, 0x18d, 0, 0 };
 
 static const u16 NCT6106_REG_AUTO_TEMP[] = { 0x160, 0x170, 0x180 };
 static const u16 NCT6106_REG_AUTO_PWM[] = { 0x164, 0x174, 0x184 };
drivers/hwmon/pmbus/pmbus_core.c +1 -1
index e90ab980b836..ddd8399a7fee 100644
@@ -408,7 +408,7 @@ int pmbus_update_byte_data(struct i2c_client *client, int page, u8 reg,
 	if (tmp != rv)
 		rv = _pmbus_write_byte_data(client, page, reg, tmp);
 
-	return rv;
+	return rv < 0 ? rv : 0;
 }
 EXPORT_SYMBOL_GPL(pmbus_update_byte_data);
 
drivers/hwtracing/intel_th/core.c +0 -10
index 786d24f7818a..740baf3cf73d 100644
@@ -843,18 +843,8 @@ static int intel_th_output_open(struct inode *inode, struct file *file)
 	return err;
 }
 
-static int intel_th_output_release(struct inode *inode, struct file *file)
-{
-	struct intel_th_device *thdev = file->private_data;
-
-	put_device(&thdev->dev);
-
-	return 0;
-}
-
 static const struct file_operations intel_th_output_fops = {
 	.open	= intel_th_output_open,
-	.release = intel_th_output_release,
 	.llseek	= noop_llseek,
 };
 
drivers/hwtracing/intel_th/msu.c +2 -0
index 24f56a7c0fcf..cdd0b1f5150f 100644
@@ -1463,8 +1463,10 @@ static int intel_th_msc_release(struct inode *inode, struct file *file)
 {
 	struct msc_iter *iter = file->private_data;
 	struct msc *msc = iter->msc;
+	struct intel_th_device *thdev = msc->thdev;
 
 	msc_iter_remove(iter, msc);
+	put_device(&thdev->dev);
 
 	return 0;
 }
drivers/i2c/busses/i2c-amd-mp2-plat.c +3 -1
index 506433bc0ff2..5a4bf2aa6813 100644
@@ -327,8 +327,10 @@ static int i2c_amd_probe(struct platform_device *pdev)
 
 	amd_mp2_pm_runtime_put(mp2_dev);
 
-	if (ret < 0)
+	if (ret < 0) {
 		dev_err(&pdev->dev, "i2c add adapter failed = %d\n", ret);
+		amd_mp2_unregister_cb(&i2c_dev->common);
+	}
 
 	return ret;
 }
drivers/i2c/busses/i2c-jz4780.c +4 -1
index e181db3fd2cc..993a47a98659 100644
@@ -141,6 +141,7 @@ struct jz4780_i2c {
 	void __iomem		*iomem;
 	int			 irq;
 	struct clk		*clk;
+	unsigned long		 clk_rate_khz;
 	struct i2c_adapter	 adap;
 	const struct ingenic_i2c_config *cdata;
 
@@ -246,7 +247,7 @@ static int jz4780_i2c_set_target(struct jz4780_i2c *i2c, unsigned char address)
 
 static int jz4780_i2c_set_speed(struct jz4780_i2c *i2c)
 {
-	int dev_clk_khz = clk_get_rate(i2c->clk) / 1000;
+	int dev_clk_khz = i2c->clk_rate_khz;
 	int cnt_high = 0;	/* HIGH period count of the SCL clock */
 	int cnt_low = 0;	/* LOW period count of the SCL clock */
 	int cnt_period = 0;	/* period count of the SCL clock */
@@ -801,6 +802,8 @@ static int jz4780_i2c_probe(struct platform_device *pdev)
 	if (ret)
 		return ret;
 
+	i2c->clk_rate_khz = clk_get_rate(i2c->clk) / 1000;
+
 	ret = of_property_read_u32(pdev->dev.of_node, "clock-frequency",
 				   &clk_freq);
 	if (ret) {
drivers/infiniband/core/mad.c +30 -0
index e38ae4ac454f..10d29167b585 100644
@@ -1783,6 +1783,24 @@ void ib_mark_mad_done(struct ib_mad_send_wr_private *mad_send_wr)
 			      &mad_send_wr->mad_agent_priv->done_list);
 }
 
+static bool is_kernel_rmpp_data_response(struct ib_mad_agent_private *agent,
+					 struct ib_mad_recv_wc *mad_recv_wc)
+{
+	const struct ib_mad_hdr *mad_hdr = &mad_recv_wc->recv_buf.mad->mad_hdr;
+	struct ib_rmpp_mad *rmpp_mad;
+
+	if (!ib_mad_kernel_rmpp_agent(&agent->agent) ||
+	    !ib_response_mad(mad_hdr) ||
+	    !ib_is_mad_class_rmpp(mad_hdr->mgmt_class))
+		return false;
+
+	rmpp_mad = (struct ib_rmpp_mad *)mad_recv_wc->recv_buf.mad;
+
+	return (ib_get_rmpp_flags(&rmpp_mad->rmpp_hdr) &
+		IB_MGMT_RMPP_FLAG_ACTIVE) &&
+	       rmpp_mad->rmpp_hdr.rmpp_type == IB_MGMT_RMPP_TYPE_DATA;
+}
+
 static void ib_mad_complete_recv(struct ib_mad_agent_private *mad_agent_priv,
 				 struct ib_mad_recv_wc *mad_recv_wc)
 {
@@ -1801,6 +1819,18 @@ static void ib_mad_complete_recv(struct ib_mad_agent_private *mad_agent_priv,
 	}
 
 	list_add(&mad_recv_wc->recv_buf.list, &mad_recv_wc->rmpp_list);
+	if (is_kernel_rmpp_data_response(mad_agent_priv, mad_recv_wc)) {
+		spin_lock_irqsave(&mad_agent_priv->lock, flags);
+		mad_send_wr = ib_find_send_mad(mad_agent_priv, mad_recv_wc);
+		spin_unlock_irqrestore(&mad_agent_priv->lock, flags);
+
+		if (!mad_send_wr) {
+			ib_free_recv_mad(mad_recv_wc);
+			deref_mad_agent(mad_agent_priv);
+			return;
+		}
+	}
+
 	if (ib_mad_kernel_rmpp_agent(&mad_agent_priv->agent)) {
 		mad_recv_wc = ib_process_rmpp_recv_wc(mad_agent_priv,
 						      mad_recv_wc);
drivers/infiniband/hw/hns/hns_roce_hem.c +1 -1
index 570a1bc24fd5..f36ea9141c7a 100644
@@ -896,7 +896,7 @@ static void hns_roce_cleanup_mhop_hem_table(struct hns_roce_dev *hr_dev,
 					mhop.bt_chunk_size;
 
 	for (i = 0; i < table->num_hem; ++i) {
-		obj = i * buf_chunk_size / table->obj_size;
+		obj = (u64)i * buf_chunk_size / table->obj_size;
 		if (table->hem[i])
 			hns_roce_table_mhop_put(hr_dev, table, obj, 0);
 	}
drivers/infiniband/sw/rxe/rxe_mmap.c +16 -3
index 035f226af133..edd9345da295 100644
@@ -94,18 +94,31 @@ int rxe_mmap(struct ib_ucontext *context, struct vm_area_struct *vma)
 	goto done;
 
 found_it:
+	/*
+	 * Increment refcount and check whether it is being freed atm while
+	 * holding lock to prevent UAF
+	 */
+	if (!kref_get_unless_zero(&ip->ref)) {
+		spin_unlock_bh(&rxe->pending_lock);
+		ret = -ENXIO;
+		goto done;
+	}
+
 	list_del_init(&ip->pending_mmaps);
 	spin_unlock_bh(&rxe->pending_lock);
 
+	vma->vm_ops = &rxe_vm_ops;
+	vma->vm_private_data = ip;
+
 	ret = remap_vmalloc_range(vma, ip->obj, 0);
 	if (ret) {
+		vma->vm_private_data = NULL;
+		vma->vm_ops = NULL;
+		kref_put(&ip->ref, rxe_mmap_release);
 		pr_err("err %d from remap_vmalloc_range\n", ret);
 		goto done;
 	}
 
-	vma->vm_ops = &rxe_vm_ops;
-	vma->vm_private_data = ip;
-	rxe_vma_open(vma);
 done:
 	return ret;
 }
drivers/input/evdev.c +16 -11
index 95f90699d2b1..db014dae9500 100644
@@ -21,6 +21,7 @@
 #include <linux/init.h>
 #include <linux/input/mt.h>
 #include <linux/major.h>
+#include <linux/nospec.h>
 #include <linux/device.h>
 #include <linux/cdev.h>
 #include "input-compat.h"
@@ -67,8 +68,10 @@ static size_t evdev_get_mask_cnt(unsigned int type)
 		[EV_SND]	= SND_CNT,
 		[EV_FF]		= FF_CNT,
 	};
+	unsigned long mask = array_index_mask_nospec(type, EV_CNT);
 
-	return (type < EV_CNT) ? counts[type] : 0;
+	/* Returns 0 for out-of-bounds types, including speculatively */
+	return counts[type & mask] & mask;
 }
 
 /* requires the buffer lock to be held */
@@ -146,11 +149,11 @@ static void __evdev_queue_syn_dropped(struct evdev_client *client)
 	struct timespec64 ts = ktime_to_timespec64(ev_time[client->clk_type]);
 	struct input_event ev;
 
+	memset(&ev, 0, sizeof(ev));
 	ev.input_event_sec = ts.tv_sec;
 	ev.input_event_usec = ts.tv_nsec / NSEC_PER_USEC;
 	ev.type = EV_SYN;
 	ev.code = SYN_DROPPED;
-	ev.value = 0;
 
 	client->buffer[client->head++] = ev;
 	client->head &= client->bufsize - 1;
@@ -218,20 +221,20 @@ static void __pass_event(struct evdev_client *client,
 	client->head &= client->bufsize - 1;
 
 	if (unlikely(client->head == client->tail)) {
+		struct input_event ev;
+
+		memset(&ev, 0, sizeof(ev));
+		ev.input_event_sec = event->input_event_sec;
+		ev.input_event_usec = event->input_event_usec;
+		ev.type = EV_SYN;
+		ev.code = SYN_DROPPED;
+
 		/*
 		 * This effectively "drops" all unconsumed events, leaving
 		 * EV_SYN/SYN_DROPPED plus the newest event in the queue.
 		 */
 		client->tail = (client->head - 2) & (client->bufsize - 1);
-
-		client->buffer[client->tail] = (struct input_event) {
-			.input_event_sec = event->input_event_sec,
-			.input_event_usec = event->input_event_usec,
-			.type = EV_SYN,
-			.code = SYN_DROPPED,
-			.value = 0,
-		};
-
+		client->buffer[client->tail] = ev;
 		client->packet_head = client->tail;
 	}
 
@@ -253,6 +256,8 @@ static void evdev_pass_values(struct evdev_client *client,
 	if (client->revoked)
 		return;
 
+	memset(&event, 0, sizeof(event));
+
 	ts = ktime_to_timespec64(ev_time[client->clk_type]);
 	event.input_event_sec = ts.tv_sec;
 	event.input_event_usec = ts.tv_nsec / NSEC_PER_USEC;
drivers/input/misc/ims-pcu.c +26 -6
index 55d4fffda41b..0214c3bb2b09 100644
@@ -448,6 +448,14 @@ static void ims_pcu_handle_response(struct ims_pcu *pcu)
 	}
 }
 
+static void ims_pcu_reset_packet(struct ims_pcu *pcu)
+{
+	pcu->have_stx = false;
+	pcu->have_dle = false;
+	pcu->read_pos = 0;
+	pcu->check_sum = 0;
+}
+
 static void ims_pcu_process_data(struct ims_pcu *pcu, struct urb *urb)
 {
 	int i;
@@ -460,6 +468,14 @@ static void ims_pcu_process_data(struct ims_pcu *pcu, struct urb *urb)
 			continue;
 
 		if (pcu->have_dle) {
+			if (pcu->read_pos >= IMS_PCU_BUF_SIZE) {
+				dev_warn(pcu->dev,
+					 "Packet too long (%d bytes), discarding\n",
+					 pcu->read_pos);
+				ims_pcu_reset_packet(pcu);
+				continue;
+			}
+
 			pcu->have_dle = false;
 			pcu->read_buf[pcu->read_pos++] = data;
 			pcu->check_sum += data;
@@ -472,10 +488,8 @@ static void ims_pcu_process_data(struct ims_pcu *pcu, struct urb *urb)
 				dev_warn(pcu->dev,
 					 "Unexpected STX at byte %d, discarding old data\n",
 					 pcu->read_pos);
+			ims_pcu_reset_packet(pcu);
 			pcu->have_stx = true;
-			pcu->have_dle = false;
-			pcu->read_pos = 0;
-			pcu->check_sum = 0;
 			break;
 
 		case IMS_PCU_PROTOCOL_DLE:
@@ -495,12 +509,18 @@ static void ims_pcu_process_data(struct ims_pcu *pcu, struct urb *urb)
 				ims_pcu_handle_response(pcu);
 			}
 
-			pcu->have_stx = false;
-			pcu->have_dle = false;
-			pcu->read_pos = 0;
+			ims_pcu_reset_packet(pcu);
 			break;
 
 		default:
+			if (pcu->read_pos >= IMS_PCU_BUF_SIZE) {
+				dev_warn(pcu->dev,
+					 "Packet too long (%d bytes), discarding\n",
+					 pcu->read_pos);
+				ims_pcu_reset_packet(pcu);
+				continue;
+			}
+
 			pcu->read_buf[pcu->read_pos++] = data;
 			pcu->check_sum += data;
 			break;
drivers/iommu/amd/init.c +6 -0
index 1ba6adb5b912..1b7a0fae423c 100644
@@ -3227,6 +3227,12 @@ static int __init parse_ivrs_acpihid(char *str)
 	return 1;
 
 found:
+	if (early_acpihid_map_size == EARLY_MAP_SIZE) {
+		pr_err("Early ACPI HID map overflow - ignoring ivrs_acpihid%s\n",
+		       str);
+		return 1;
+	}
+
 	p = acpiid;
 	hid = strsep(&p, ":");
 	uid = p;
drivers/iommu/intel/svm.c +1 -1
index 02e3183a4c67..f2f8f92738de 100644
@@ -98,7 +98,7 @@ static inline bool intel_svm_capable(struct intel_iommu *iommu)
 
 void intel_svm_check(struct intel_iommu *iommu)
 {
-	if (!pasid_supported(iommu))
+	if (!pasid_supported(iommu) || !ecap_smpwc(iommu->ecap))
 		return;
 
 	if (cpu_feature_enabled(X86_FEATURE_GBPAGES) &&
drivers/media/cec/platform/seco/seco-cec.c +5 -1
index ae138cc253fd..cb69f931f85a 100644
@@ -662,7 +662,7 @@ static int secocec_probe(struct platform_device *pdev)
 
 	ret = secocec_ir_probe(secocec);
 	if (ret)
-		goto err_notifier;
+		goto err_unregister_adapter;
 
 	platform_set_drvdata(pdev, secocec);
 
@@ -670,6 +670,10 @@ static int secocec_probe(struct platform_device *pdev)
 
 	return ret;
 
+err_unregister_adapter:
+	cec_notifier_cec_adap_unregister(secocec->notifier, secocec->cec_adap);
+	cec_unregister_adapter(secocec->cec_adap);
+	goto err;
 err_notifier:
 	cec_notifier_cec_adap_unregister(secocec->notifier, secocec->cec_adap);
 err_delete_adapter:
drivers/media/common/videobuf2/videobuf2-core.c +6 -6
index 78ad2b278da4..1e513a3f2ece 100644
@@ -2706,8 +2706,8 @@ static int __vb2_cleanup_fileio(struct vb2_queue *q)
  * @nonblock:	mode selector (1 means blocking calls, 0 means nonblocking)
  * @read:	access mode selector (1 means read, 0 means write)
  */
-static size_t __vb2_perform_fileio(struct vb2_queue *q, char __user *data, size_t count,
-		loff_t *ppos, int nonblock, int read)
+static ssize_t __vb2_perform_fileio(struct vb2_queue *q, char __user *data, size_t count,
+				    loff_t *ppos, int nonblock, int read)
 {
 	struct vb2_fileio_data *fileio;
 	struct vb2_fileio_buf *buf;
@@ -2867,15 +2867,15 @@ static size_t __vb2_perform_fileio(struct vb2_queue *q, char __user *data, size_
 	return ret;
 }
 
-size_t vb2_read(struct vb2_queue *q, char __user *data, size_t count,
-		loff_t *ppos, int nonblocking)
+ssize_t vb2_read(struct vb2_queue *q, char __user *data, size_t count,
+		 loff_t *ppos, int nonblocking)
 {
 	return __vb2_perform_fileio(q, data, count, ppos, nonblocking, 1);
 }
 EXPORT_SYMBOL_GPL(vb2_read);
 
-size_t vb2_write(struct vb2_queue *q, const char __user *data, size_t count,
-		loff_t *ppos, int nonblocking)
+ssize_t vb2_write(struct vb2_queue *q, const char __user *data, size_t count,
+		  loff_t *ppos, int nonblocking)
 {
 	return __vb2_perform_fileio(q, (char __user *) data, count,
 							ppos, nonblocking, 0);
drivers/media/dvb-frontends/rtl2832.c +2 -2
index 1c3e572cad3f..a70de40ebc84 100644
@@ -1115,10 +1115,10 @@ static int rtl2832_remove(struct i2c_client *client)
 
 	dev_dbg(&client->dev, "\n");
 
-	cancel_delayed_work_sync(&dev->i2c_gate_work);
-
 	i2c_mux_del_adapters(dev->muxc);
 
+	cancel_delayed_work_sync(&dev->i2c_gate_work);
+
 	regmap_exit(dev->regmap);
 
 	kfree(dev);
drivers/media/dvb-frontends/rtl2832_sdr.c +14 -5
index ef6feb299d46..51175c2933d6 100644
@@ -396,7 +396,8 @@ static int rtl2832_sdr_alloc_urbs(struct rtl2832_sdr_dev *dev)
 }
 
 /* Must be called with vb_queue_lock hold */
-static void rtl2832_sdr_cleanup_queued_bufs(struct rtl2832_sdr_dev *dev)
+static void rtl2832_sdr_cleanup_queued_bufs(struct rtl2832_sdr_dev *dev,
+					    enum vb2_buffer_state state)
 {
 	struct platform_device *pdev = dev->pdev;
 	unsigned long flags;
@@ -410,7 +411,7 @@ static void rtl2832_sdr_cleanup_queued_bufs(struct rtl2832_sdr_dev *dev)
 		buf = list_entry(dev->queued_bufs.next,
 				struct rtl2832_sdr_frame_buf, list);
 		list_del(&buf->list);
-		vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
+		vb2_buffer_done(&buf->vb.vb2_buf, state);
 	}
 	spin_unlock_irqrestore(&dev->queued_bufs_lock, flags);
 }
@@ -851,11 +852,15 @@ static int rtl2832_sdr_start_streaming(struct vb2_queue *vq, unsigned int count)
 
 	dev_dbg(&pdev->dev, "\n");
 
-	if (!dev->udev)
+	if (!dev->udev) {
+		rtl2832_sdr_cleanup_queued_bufs(dev, VB2_BUF_STATE_QUEUED);
 		return -ENODEV;
+	}
 
-	if (mutex_lock_interruptible(&dev->v4l2_lock))
+	if (mutex_lock_interruptible(&dev->v4l2_lock)) {
+		rtl2832_sdr_cleanup_queued_bufs(dev, VB2_BUF_STATE_QUEUED);
 		return -ERESTARTSYS;
+	}
 
 	if (d->props->power_ctrl)
 		d->props->power_ctrl(d, 1);
@@ -896,7 +901,11 @@ static int rtl2832_sdr_start_streaming(struct vb2_queue *vq, unsigned int count)
 	if (ret)
 		goto err;
 
+	mutex_unlock(&dev->v4l2_lock);
+	return 0;
+
 err:
+	rtl2832_sdr_cleanup_queued_bufs(dev, VB2_BUF_STATE_QUEUED);
 	mutex_unlock(&dev->v4l2_lock);
 
 	return ret;
@@ -916,7 +925,7 @@ static void rtl2832_sdr_stop_streaming(struct vb2_queue *vq)
 	rtl2832_sdr_kill_urbs(dev);
 	rtl2832_sdr_free_urbs(dev);
 	rtl2832_sdr_free_stream_bufs(dev);
-	rtl2832_sdr_cleanup_queued_bufs(dev);
+	rtl2832_sdr_cleanup_queued_bufs(dev, VB2_BUF_STATE_ERROR);
 	rtl2832_sdr_unset_adc(dev);
 
 	/* sleep tuner */
drivers/media/pci/cx23885/cx23885-core.c +12 -2
index a23c025595a0..5984f2997c6a 100644
@@ -990,8 +990,12 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
 	}
 
 	/* PCIe stuff */
-	dev->lmmio = ioremap(pci_resource_start(dev->pci, 0),
-			     pci_resource_len(dev->pci, 0));
+	dev->lmmio = pci_ioremap_bar(dev->pci, 0);
+	if (!dev->lmmio) {
+		dev_err(&dev->pci->dev, "CORE %s: can't ioremap MMIO memory\n",
+			dev->name);
+		goto err_release_region;
+	}
 
 	dev->bmmio = (u8 __iomem *)dev->lmmio;
 
@@ -1096,6 +1100,12 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
 	}
 
 	return 0;
+
+err_release_region:
+	release_mem_region(pci_resource_start(dev->pci, 0),
+			   pci_resource_len(dev->pci, 0));
+	cx23885_devcount--;
+	return -ENODEV;
 }
 
 static void cx23885_dev_unregister(struct cx23885_dev *dev)
drivers/media/pci/dm1105/dm1105.c +1 -0
index d2e194a24e7e..f00ae8d3b5e3 100644
@@ -1195,6 +1195,7 @@ static void dm1105_remove(struct pci_dev *pdev)
 
 	dm1105_hw_exit(dev);
 	free_irq(pdev->irq, dev);
+	destroy_workqueue(dev->wq);
 	pci_iounmap(pdev, dev->io_mem);
 	pci_release_regions(pdev);
 	pci_disable_device(pdev);
drivers/media/pci/saa7134/saa7134-video.c +20 -5
index df9e3293015a..a93bf3de13c7 100644
@@ -2126,8 +2126,10 @@ int saa7134_video_init1(struct saa7134_dev *dev)
 	q->dev = &dev->pci->dev;
 	ret = vb2_queue_init(q);
 	if (ret)
-		return ret;
-	saa7134_pgtable_alloc(dev->pci, &dev->video_q.pt);
+		goto err_free_ctrl;
+	ret = saa7134_pgtable_alloc(dev->pci, &dev->video_q.pt);
+	if (ret)
+		goto err_free_ctrl;
 
 	q = &dev->vbi_vbq;
 	q->type = V4L2_BUF_TYPE_VBI_CAPTURE;
@@ -2144,11 +2146,24 @@ int saa7134_video_init1(struct saa7134_dev *dev)
 	q->lock = &dev->lock;
 	q->dev = &dev->pci->dev;
 	ret = vb2_queue_init(q);
-	if (ret)
-		return ret;
-	saa7134_pgtable_alloc(dev->pci, &dev->vbi_q.pt);
+	if (ret) {
+		saa7134_pgtable_free(dev->pci, &dev->video_q.pt);
+		goto err_free_ctrl;
+	}
+
+	ret = saa7134_pgtable_alloc(dev->pci, &dev->vbi_q.pt);
+	if (ret) {
+		saa7134_pgtable_free(dev->pci, &dev->video_q.pt);
+		goto err_free_ctrl;
+	}
 
 	return 0;
+
+err_free_ctrl:
+	v4l2_ctrl_handler_free(&dev->ctrl_handler);
+	if (card_has_radio(dev))
+		v4l2_ctrl_handler_free(&dev->radio_ctrl_handler);
+	return ret;
 }
 
 void saa7134_video_fini(struct saa7134_dev *dev)
drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c +4 -2
index 2c39cd7f2862..aaa26055f0e4 100644
@@ -234,8 +234,10 @@ static int sun4i_csi_start_streaming(struct vb2_queue *vq, unsigned int count)
 	int ret;
 
 	csi_fmt = sun4i_csi_find_format(&csi->fmt.pixelformat, NULL);
-	if (!csi_fmt)
-		return -EINVAL;
+	if (!csi_fmt) {
+		ret = -EINVAL;
+		goto err_clear_dma_queue;
+	}
 
 	dev_dbg(csi->dev, "Starting capture\n");
 
drivers/media/radio/radio-si476x.c +1 -0
index 23997425bdb5..b76cbbdfdc0c 100644
@@ -1504,6 +1504,7 @@ static int si476x_radio_probe(struct platform_device *pdev)
 	return 0;
 exit:
 	v4l2_ctrl_handler_free(radio->videodev.ctrl_handler);
+	v4l2_device_unregister(&radio->v4l2dev);
 	return rval;
 }
 
drivers/media/test-drivers/vidtv/vidtv_bridge.c +3 -1
index c0ad7bdbbbd1..5e0daac89fe1 100644
@@ -562,8 +562,10 @@ static int __init vidtv_bridge_init(void)
 	int ret;
 
 	ret = platform_device_register(&vidtv_bridge_dev);
-	if (ret)
+	if (ret) {
+		platform_device_put(&vidtv_bridge_dev);
 		return ret;
+	}
 
 	ret = platform_driver_register(&vidtv_bridge_driver);
 	if (ret)
drivers/media/test-drivers/vimc/vimc-core.c +1 -0
index 857529ce3638..8f4b4310ae33 100644
@@ -350,6 +350,7 @@ static int __init vimc_init(void)
 	if (ret) {
 		dev_err(&vimc_pdev.dev,
 			"platform device registration failed (err=%d)\n", ret);
+		platform_device_put(&vimc_pdev);
 		return ret;
 	}
 
drivers/media/test-drivers/vivid/vivid-ctrls.c +12 -0
index 334130568dcb..3edd2f826afc 100644
@@ -464,14 +464,20 @@ static int vivid_vid_cap_s_ctrl(struct v4l2_ctrl *ctrl)
 		vivid_update_format_cap(dev, true);
 		break;
 	case VIVID_CID_HAS_CROP_CAP:
+		if (vb2_is_busy(&dev->vb_vid_cap_q))
+			return -EBUSY;
 		dev->has_crop_cap = ctrl->val;
 		vivid_update_format_cap(dev, true);
 		break;
 	case VIVID_CID_HAS_COMPOSE_CAP:
+		if (vb2_is_busy(&dev->vb_vid_cap_q))
+			return -EBUSY;
 		dev->has_compose_cap = ctrl->val;
 		vivid_update_format_cap(dev, true);
 		break;
 	case VIVID_CID_HAS_SCALER_CAP:
+		if (vb2_is_busy(&dev->vb_vid_cap_q))
+			return -EBUSY;
 		dev->has_scaler_cap = ctrl->val;
 		vivid_update_format_cap(dev, true);
 		break;
@@ -947,14 +953,20 @@ static int vivid_vid_out_s_ctrl(struct v4l2_ctrl *ctrl)
 
 	switch (ctrl->id) {
 	case VIVID_CID_HAS_CROP_OUT:
+		if (vb2_is_busy(&dev->vb_vid_out_q))
+			return -EBUSY;
 		dev->has_crop_out = ctrl->val;
 		vivid_update_format_out(dev);
 		break;
 	case VIVID_CID_HAS_COMPOSE_OUT:
+		if (vb2_is_busy(&dev->vb_vid_out_q))
+			return -EBUSY;
 		dev->has_compose_out = ctrl->val;
 		vivid_update_format_out(dev);
 		break;
 	case VIVID_CID_HAS_SCALER_OUT:
+		if (vb2_is_busy(&dev->vb_vid_out_q))
+			return -EBUSY;
 		dev->has_scaler_out = ctrl->val;
 		vivid_update_format_out(dev);
 		break;
drivers/media/test-drivers/vivid/vivid-vid-cap.c +6 -0
index 8886b58d1805..a6bcc7cc4bcf 100644
@@ -385,6 +385,12 @@ void vivid_update_format_cap(struct vivid_dev *dev, bool keep_controls)
 	unsigned size;
 	u64 pixelclock;
 
+	/*
+	 * This resets the format, so must never be called while vb2_is_busy().
+	 */
+	if (WARN_ON(vb2_is_busy(&dev->vb_vid_cap_q)))
+		return;
+
 	switch (dev->input_type[dev->input]) {
 	case WEBCAM:
 	default:
drivers/media/test-drivers/vivid/vivid-vid-out.c +6 -0
index 9038be90ab35..87efbdc29c8a 100644
@@ -222,6 +222,12 @@ void vivid_update_format_out(struct vivid_dev *dev)
 	unsigned size, p;
 	u64 pixelclock;
 
+	/*
+	 * This resets the format, so must never be called while vb2_is_busy().
+	 */
+	if (WARN_ON(vb2_is_busy(&dev->vb_vid_out_q)))
+		return;
+
 	switch (dev->output_type[dev->output]) {
 	case SVID:
 	default:
drivers/media/usb/airspy/airspy.c +5 -3
index 751703db06f5..84f73ab4978b 100644
@@ -518,11 +518,13 @@ static int airspy_start_streaming(struct vb2_queue *vq, unsigned int count)
 
 	dev_dbg(s->dev, "\n");
 
-	if (!s->udev)
-		return -ENODEV;
-
 	mutex_lock(&s->v4l2_lock);
 
+	if (!s->udev) {
+		ret = -ENODEV;
+		goto err_clear_bit;
+	}
+
 	s->sequence = 0;
 
 	set_bit(POWER_ON, &s->flags);
drivers/media/usb/cx231xx/cx231xx-cards.c +11 -5
index bda729b42d05..64c3cb8fc2bf 100644
@@ -1577,7 +1577,8 @@ static int cx231xx_init_v4l2(struct cx231xx *dev,
 		 dev->video_mode.end_point_addr,
 		 dev->video_mode.num_alt);
 
-	dev->video_mode.alt_max_pkt_size = devm_kmalloc_array(&udev->dev, 32, dev->video_mode.num_alt, GFP_KERNEL);
+	dev->video_mode.alt_max_pkt_size = devm_kmalloc_array(&interface->dev, 32,
+							      dev->video_mode.num_alt, GFP_KERNEL);
 	if (dev->video_mode.alt_max_pkt_size == NULL)
 		return -ENOMEM;
 
@@ -1618,7 +1619,8 @@ static int cx231xx_init_v4l2(struct cx231xx *dev,
 		 dev->vbi_mode.num_alt);
 
 	/* compute alternate max packet sizes for vbi */
-	dev->vbi_mode.alt_max_pkt_size = devm_kmalloc_array(&udev->dev, 32, dev->vbi_mode.num_alt, GFP_KERNEL);
+	dev->vbi_mode.alt_max_pkt_size = devm_kmalloc_array(&interface->dev, 32,
+							    dev->vbi_mode.num_alt, GFP_KERNEL);
 	if (dev->vbi_mode.alt_max_pkt_size == NULL)
 		return -ENOMEM;
 
@@ -1660,7 +1662,9 @@ static int cx231xx_init_v4l2(struct cx231xx *dev,
 		 "sliced CC EndPoint Addr 0x%x, Alternate settings: %i\n",
 		 dev->sliced_cc_mode.end_point_addr,
 		 dev->sliced_cc_mode.num_alt);
-	dev->sliced_cc_mode.alt_max_pkt_size = devm_kmalloc_array(&udev->dev, 32, dev->sliced_cc_mode.num_alt, GFP_KERNEL);
+	dev->sliced_cc_mode.alt_max_pkt_size = devm_kmalloc_array(&interface->dev, 32,
+								  dev->sliced_cc_mode.num_alt,
+								  GFP_KERNEL);
 	if (dev->sliced_cc_mode.alt_max_pkt_size == NULL)
 		return -ENOMEM;
 
@@ -1724,7 +1728,7 @@ static int cx231xx_usb_probe(struct usb_interface *interface,
 	udev = usb_get_dev(interface_to_usbdev(interface));
 
 	/* allocate memory for our device state and initialize it */
-	dev = devm_kzalloc(&udev->dev, sizeof(*dev), GFP_KERNEL);
+	dev = devm_kzalloc(&interface->dev, sizeof(*dev), GFP_KERNEL);
 	if (dev == NULL) {
 		retval = -ENOMEM;
 		goto err_if;
@@ -1854,7 +1858,9 @@ static int cx231xx_usb_probe(struct usb_interface *interface,
 			 dev->ts1_mode.end_point_addr,
 			 dev->ts1_mode.num_alt);
 
-		dev->ts1_mode.alt_max_pkt_size = devm_kmalloc_array(&udev->dev, 32, dev->ts1_mode.num_alt, GFP_KERNEL);
+		dev->ts1_mode.alt_max_pkt_size = devm_kmalloc_array(&interface->dev, 32,
+								    dev->ts1_mode.num_alt,
+								    GFP_KERNEL);
 		if (dev->ts1_mode.alt_max_pkt_size == NULL) {
 			retval = -ENOMEM;
 			goto err_video_alt;
drivers/media/usb/msi2500/msi2500.c +24 -8
index 1c60dfb647e5..71195b841d40 100644
@@ -541,7 +541,8 @@ static int msi2500_isoc_init(struct msi2500_dev *dev)
 }
 
 /* Must be called with vb_queue_lock hold */
-static void msi2500_cleanup_queued_bufs(struct msi2500_dev *dev)
+static void msi2500_cleanup_queued_bufs(struct msi2500_dev *dev,
+					enum vb2_buffer_state state)
 {
 	unsigned long flags;
 
@@ -554,7 +555,7 @@ static void msi2500_cleanup_queued_bufs(struct msi2500_dev *dev)
 		buf = list_entry(dev->queued_bufs.next,
 				 struct msi2500_frame_buf, list);
 		list_del(&buf->list);
-		vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
+		vb2_buffer_done(&buf->vb.vb2_buf, state);
 	}
 	spin_unlock_irqrestore(&dev->queued_bufs_lock, flags);
 }
@@ -830,25 +831,40 @@ static int msi2500_start_streaming(struct vb2_queue *vq, unsigned int count)
 
 	dev_dbg(dev->dev, "\n");
 
-	if (!dev->udev)
-		return -ENODEV;
+	if (!dev->udev) {
+		ret = -ENODEV;
+		goto err_cleanup;
+	}
 
-	if (mutex_lock_interruptible(&dev->v4l2_lock))
-		return -ERESTARTSYS;
+	if (mutex_lock_interruptible(&dev->v4l2_lock)) {
+		ret = -ERESTARTSYS;
+		goto err_cleanup;
+	}
 
 	/* wake-up tuner */
 	v4l2_subdev_call(dev->v4l2_subdev, core, s_power, 1);
 
 	ret = msi2500_set_usb_adc(dev);
+	if (ret)
+		goto err_unlock_cleanup;
 
 	ret = msi2500_isoc_init(dev);
 	if (ret)
-		msi2500_cleanup_queued_bufs(dev);
+		goto err_unlock_cleanup;
 
 	ret = msi2500_ctrl_msg(dev, CMD_START_STREAMING, 0);
+	if (ret)
+		goto err_isoc_cleanup;
 
 	mutex_unlock(&dev->v4l2_lock);
+	return 0;
 
+err_isoc_cleanup:
+	msi2500_isoc_cleanup(dev);
+err_unlock_cleanup:
+	mutex_unlock(&dev->v4l2_lock);
+err_cleanup:
+	msi2500_cleanup_queued_bufs(dev, VB2_BUF_STATE_QUEUED);
 	return ret;
 }
 
@@ -863,7 +879,7 @@ static void msi2500_stop_streaming(struct vb2_queue *vq)
 	if (dev->udev)
 		msi2500_isoc_cleanup(dev);
 
-	msi2500_cleanup_queued_bufs(dev);
+	msi2500_cleanup_queued_bufs(dev, VB2_BUF_STATE_ERROR);
 
 	/* according to tests, at least 700us delay is required  */
 	msleep(20);
drivers/media/usb/pwc/pwc-if.c +11 -2
index 5e3339cc31c0..e5b636d8d5e5 100644
@@ -711,11 +711,15 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count)
 	struct pwc_device *pdev = vb2_get_drv_priv(vq);
 	int r;
 
-	if (!pdev->udev)
+	if (!pdev->udev) {
+		pwc_cleanup_queued_bufs(pdev, VB2_BUF_STATE_QUEUED);
 		return -ENODEV;
+	}
 
-	if (mutex_lock_interruptible(&pdev->v4l2_lock))
+	if (mutex_lock_interruptible(&pdev->v4l2_lock)) {
+		pwc_cleanup_queued_bufs(pdev, VB2_BUF_STATE_QUEUED);
 		return -ERESTARTSYS;
+	}
 	/* Turn on camera and set LEDS on */
 	pwc_camera_power(pdev, 1);
 	pwc_set_leds(pdev, leds[0], leds[1]);
@@ -727,6 +731,11 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count)
 		pwc_camera_power(pdev, 0);
 		/* And cleanup any queued bufs!! */
 		pwc_cleanup_queued_bufs(pdev, VB2_BUF_STATE_QUEUED);
+		if (pdev->fill_buf) {
+			vb2_buffer_done(&pdev->fill_buf->vb.vb2_buf,
+					VB2_BUF_STATE_QUEUED);
+			pdev->fill_buf = NULL;
+		}
 	}
 	mutex_unlock(&pdev->v4l2_lock);
 
drivers/media/usb/uvc/uvc_video.c +54 -24

106 lines not on this page · raw message

drivers/media/usb/uvc/uvcvideo.h +4 -0
index a83995276170..4a1ff08453d7 100644
@@ -204,6 +204,10 @@
 #define UVC_QUIRK_FORCE_Y8		0x00000800
 #define UVC_QUIRK_FORCE_BPP		0x00001000
 #define UVC_QUIRK_WAKE_AUTOSUSPEND	0x00002000
+#define UVC_QUIRK_NO_RESET_RESUME	0x00004000
+#define UVC_QUIRK_DISABLE_AUTOSUSPEND	0x00008000
+#define UVC_QUIRK_INVALID_DEVICE_SOF	0x00010000
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

drivers/misc/fastrpc.c +2 -1
index e77c63467622..a42be2356672 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/mtdswap.c +4 -1
index 58eefa43af14..bd4ac1209962 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/mtk_ecc.c +12 -4
index c115e03ede88..c60e04cdf03a 100644

Lines of this file are not shown. View the raw message.

drivers/net/bonding/bond_alb.c +6 -4
index 81a5e7622ea7..dff22eddc885 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/softing/softing_fw.c +32 -14

46 lines not on this page · raw message

drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +1 -0
index 233bbfeaa771..113053617b66 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c +11 -2
index df0460e3633c..f47a1725fddd 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/usb/peak_usb/pcan_usb_core.c +0 -1
index 3a963f2a8c44..146259c88d2d 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/usb/peak_usb/pcan_usb_fd.c +39 -1
index 301a0f54fc99..709bf603784f 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/usb/peak_usb/pcan_usb_pro.c +16 -4
index c7564773fb2b..889dd6ffed88 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/amd/xgbe/xgbe-mdio.c +8 -3
index ebb8b3e5b9a8..01c37ffc9ceb 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/aquantia/atlantic/aq_ring.c +18 -4
index 5a85999987b5..4063d4a6f47e 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/bnxt/bnxt.c +11 -1
index 6dd410402529..f36b2bae3799 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/bnxt/bnxt.h +1 -0
index c2122d5cda62..1a7ff21f8cdb 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/hisilicon/hip04_eth.c +8 -3
index 09acd839a72c..829addb7f6da 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/hisilicon/hix5hd2_gmac.c +0 -1
index 43f3146caf07..18495d80e2e7 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/huawei/hinic/hinic_dev.h +0 -2
index a4fbf44f944c..46b24f3c5e16 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/huawei/hinic/hinic_ethtool.c +0 -21
index c340d9acba80..4a1693c70582 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/e1000/e1000_main.c +1 -1
index d7e7c619a98e..c1ad3e5620f0 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/igbvf/netdev.c +0 -2
index 037ec90ed56c..1ffa27af6ae6 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c +1 -1
index 50a36639e0ce..ca2b8ae98bd2 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/prestera/prestera_pci.c +65 -22

87 lines not on this page · raw message

drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c +8 -10
index f3985421e739..9817de5590b5 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c +15 -0
index 5d0be9703a48..6ea50a9ef1be 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/esw/acl/helper.c +1 -1
index 22f4c1c28006..e1d71e88fad4 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c +1 -6
index a2d9904e1049..d2bf20035e20 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/netronome/nfp/nfpcore/nfp_resource.c +3 -0
index ce7492a6a98f..908d99f398b8 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/nvidia/forcedeth.c +2 -2
index e14dd1051e58..f39b7fcfcd38 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/qlogic/qede/qede_main.c +22 -22

44 lines not on this page · raw message

drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c +8 -6
index 9c745d48f54b..c2333b8224c6 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c +1 -0
index 3539c1542eb8..f5977539129c 100644

Lines of this file are not shown. View the raw message.

drivers/net/geneve.c +3 -0
index 4dfe0dfb84e8..3063fbf9dae3 100644

Lines of this file are not shown. View the raw message.

drivers/net/macsec.c +1 -1
index d19b5b1c1aca..d07dba76940a 100644

Lines of this file are not shown. View the raw message.

drivers/net/phy/phylink.c +15 -14
index cbdd01f31162..012c750d4987 100644

Lines of this file are not shown. View the raw message.

drivers/net/ppp/pppoe.c +1 -0
index 75114c630b1a..40458af1121b 100644

Lines of this file are not shown. View the raw message.

drivers/net/slip/slip.c +4 -0
index 369bd30fed35..558bc092c3b9 100644

Lines of this file are not shown. View the raw message.

drivers/net/vmxnet3/vmxnet3_drv.c +16 -6
index f3c628a64b95..b670259d9393 100644

Lines of this file are not shown. View the raw message.

drivers/net/vxlan/vxlan_core.c +15 -5
index 053cc74bd904..8dad17023e36 100644

Lines of this file are not shown. View the raw message.

drivers/net/wan/wanxl.c +2 -1
index a83133388de9..006862688e7d 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath11k/dp_rx.c +3 -0
index 720c94806e1a..54edf4a61c61 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath6kl/txrx.c +6 -4
index b22ed499f7ba..5be0c62ec019 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath6kl/wmi.c +20 -0
index 5bacddee8344..7aa4de770f66 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath9k/hif_usb.c +1 -6
index 6c73c0c0b82a..7650f14dca8d 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/carl9170/rx.c +5 -2
index 908c4c8b7f82..bda30b1f9404 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/carl9170/tx.c +1 -1
index 43050dc7b98d..743c088dffb0 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/atmel/at76c50x-usb.c +5 -2
index 706de33d0ed4..adfcd0fdb05f 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +1 -1
index 4434e9a7eba0..3f6d4299965b 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +6 -2
index 0f5431e4ac20..6152c83f721c 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +1 -1
index 6ac2132c3064..5338d93e5b22 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intel/ipw2x00/ipw2100.c +4 -4
index 23fbddd0c1f8..a46ecfa07ba2 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intersil/p54/txrx.c +8 -0
index 6333b1000f92..303badbd53d9 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mac80211_hwsim.c +74 -1

75 lines not on this page · raw message

drivers/net/wireless/marvell/libertas/firmware.c +1 -0
index f124110944b7..9bf7d4c207b9 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c +1 -1
index c053a5419e19..561804026528 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/mwifiex/tdls.c +1 -1
index 6c60621b6ccc..d503db3789c5 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/mwifiex/uap_event.c +22 -2
index 9121447e2701..eebfc0eaf905 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7615/mac.c +4 -0
index 4364f73b501d..0c9201e073b2 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/microchip/wilc1000/hif.c +5 -0
index 464072535541..16fb59f3b85c 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/target/tcp.c +3 -1
index 3d9a830950ef..27d001fd8821 100644

Lines of this file are not shown. View the raw message.

drivers/phy/xilinx/phy-zynqmp.c +30 -7
index b8ccac6f3146..a3e24e816f78 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/Kconfig +1 -0
index 72c27181a427..ee01c9e2aad6 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/devicetree.c +4 -0
index d9279fc7be83..2898fdfdffd2 100644

Lines of this file are not shown. View the raw message.

drivers/s390/block/dasd_ioctl.c +1 -1
index 99b1b01e23e9..07845b6e09a2 100644

Lines of this file are not shown. View the raw message.

drivers/s390/crypto/zcrypt_ccamisc.c +19 -7
index d8046e589742..7875519491db 100644

Lines of this file are not shown. View the raw message.

drivers/s390/scsi/zfcp_aux.c +1 -0
index 36c2bd2016f2..d472d0ea7957 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/libiscsi.c +1 -1
index 7e82ddce5031..8cd20cc9809f 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/libiscsi_tcp.c +1 -7
index 83f14b2c8804..0aa883ab6ff0 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/scsi_debug.c +2 -2
index 7cfc6db81763..c3cbaeb514fc 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-fsl-dspi.c +7 -6
index 580fdcbcd9b6..2bf8cc137d31 100644

Lines of this file are not shown. View the raw message.

drivers/staging/comedi/drivers/comedi_parport.c +10 -3
index 9361b2dcf949..1a7dd9c186ad 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/meson/vdec/vdec.c +3 -1
index 7a818ca15b37..b01961fdf26a 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/sunxi/cedrus/cedrus.c +4 -2
index d761ee3f33e5..f780987b2f68 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/sunxi/cedrus/cedrus_h264.c +3 -0
index d3e26bfe6c90..712c89d64650 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/tegra-video/vi.c +2 -2
index 560d8b368124..f4a19a112014 100644

Lines of this file are not shown. View the raw message.

drivers/staging/rtl8723bs/core/rtw_ieee80211.c +3 -0
index f27044a14182..3f2ee8b34e25 100644

Lines of this file are not shown. View the raw message.

drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +4 -0
index 45cb2265bd1b..1d2c6cce2c59 100644

Lines of this file are not shown. View the raw message.

drivers/thunderbolt/eeprom.c +8 -1
index 0c8471be3e32..2e19f630e81f 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/8250/8250_dma.c +7 -5
index 04d8c6dd619f..b0d4a5b489f9 100644

Lines of this file are not shown. View the raw message.

drivers/tty/vt/keyboard.c +4 -1
index 1c60976b2f86..1f0b93126f69 100644

Lines of this file are not shown. View the raw message.

drivers/tty/vt/vt_ioctl.c +2 -0
index b62ab122fb4a..72f9da6ee094 100644

Lines of this file are not shown. View the raw message.

drivers/usb/atm/cxacru.c +2 -0
index 65a1bfc62ae6..6eea24dde2ac 100644

Lines of this file are not shown. View the raw message.

drivers/usb/atm/ueagle-atm.c +17 -0
index 661820041ca7..6a282400027d 100644

Lines of this file are not shown. View the raw message.

drivers/usb/chipidea/core.c +1 -0
index 2050cc6693b3..8cfaefe0a47b 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/function/f_midi.c +1 -0
index 3e8ea1bbe429..f9b1cea7382f 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/function/f_ncm.c +14 -5
index b15eda52829d..609034f51fab 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/function/f_printer.c +18 -5
index 473206c0362d..ed5507eb1b4f 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/function/uvc_v4l2.c +2 -0
index 2a1efaf3708e..b25fc2610cf1 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/udc/dummy_hcd.c +27 -13
index e0cc520e21b3..229e49c5a412 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/udc/fsl_udc_core.c +0 -1
index 3986e0639f05..fb10394a964f 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/udc/snps_udc_core.c +0 -1
index 6c726d2e1788..42ee90f2b853 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-pci.c +1 -0
index 2be84d5e9261..6e87f36afb49 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci.c +10 -5
index 03de77fbe3af..2cc27dba08e2 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci.h +1 -0
index 4d4ac8ec614b..8d1c6c59e9e9 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/ftdi_sio.c +2 -0
index 5d05fa597569..5f3bb9bf5ead 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/ftdi_sio_ids.h +5 -0
index 1bbd4d3f1950..0724b5375e85 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/io_edgeport.c +2 -1
index 74320352b5a5..c7c93b3540f8 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/option.c +1 -0
index 5e29d05e051e..b924504dbdb3 100644

Lines of this file are not shown. View the raw message.

drivers/usb/storage/unusual_devs.h +7 -0
index f5614709e08a..79f69f0e61d1 100644

Lines of this file are not shown. View the raw message.

drivers/vhost/vhost.c +8 -0
index 95db8232e997..4b667cfbdc49 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/core/bitblit.c +7 -2
index 7c2fc9f83a84..c36f92965e0d 100644

Lines of this file are not shown. View the raw message.

drivers/watchdog/watchdog_pretimeout.c +2 -0
index 01ca84be240f..fe4c8ace9a42 100644

Lines of this file are not shown. View the raw message.

fs/binfmt_elf_fdpic.c +4 -0
index a3bf15dafab7..1ea46ffba049 100644

Lines of this file are not shown. View the raw message.

fs/binfmt_misc.c +6 -3
index 740dac1012ae..d8d373149119 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/free-space-cache.c +7 -31
index a779965d2990..57e41ed899fe 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/free-space-cache.h +0 -1
index e3d5e0ad8f8e..d8c2f3df5a06 100644

Lines of this file are not shown. View the raw message.

fs/ceph/caps.c +1 -0
index 8e43d07ffa8b..91dc79bc8c66 100644

Lines of this file are not shown. View the raw message.

fs/cifs/cifssmb.c +9 -3
index a19e5e7c7d0f..67ff1669cab2 100644

Lines of this file are not shown. View the raw message.

fs/cifs/smb2ops.c +18 -7
index bd4ea48e0576..51f8ea0c8906 100644

Lines of this file are not shown. View the raw message.

fs/crypto/fscrypt_private.h +22 -10
index b746d7df3758..72db3df9dfad 100644

Lines of this file are not shown. View the raw message.

fs/crypto/keyring.c +91 -121

212 lines not on this page · raw message

fs/exec.c +1 -1
index 2979b458b650..0ea96114fcf7 100644

Lines of this file are not shown. View the raw message.

fs/namespace.c +5 -0
index e9b8d516f191..fcb9ab461775 100644

Lines of this file are not shown. View the raw message.

fs/nfs/nfs4proc.c +13 -0
index 170e9eaf536a..c455f6a8f61a 100644

Lines of this file are not shown. View the raw message.

fs/proc/namespaces.c +3 -1
index 2a3fc96ca622..203d3363e3d5 100644

Lines of this file are not shown. View the raw message.

include/linux/dma/qcom_bam_dma.h +16 -5
index 68fc0e643b1b..d9d07a9ab313 100644

Lines of this file are not shown. View the raw message.

include/linux/netdevice.h +0 -5
index dcf1b603cb51..b847c45c45c8 100644

Lines of this file are not shown. View the raw message.

include/linux/netfilter/nf_conntrack_sip.h +1 -1
index c620521c42bc..dfb9708f5340 100644

Lines of this file are not shown. View the raw message.

include/media/videobuf2-core.h +4 -4
index bbb3f26fbde9..f7f61a0a69dd 100644

Lines of this file are not shown. View the raw message.

include/net/addrconf.h +2 -2
index 71abf4cc6a32..cda93578a41b 100644

Lines of this file are not shown. View the raw message.

include/net/bluetooth/bluetooth.h +1 -0
index 43b4386018e2..85bab90a6921 100644

Lines of this file are not shown. View the raw message.

include/net/bluetooth/l2cap.h +1 -0
index d2db84b77bfb..af590a802eba 100644

Lines of this file are not shown. View the raw message.

include/net/bluetooth/rfcomm.h +3 -0
index 99d26879b02a..ba8d3702853d 100644

Lines of this file are not shown. View the raw message.

include/net/ip_vs.h +15 -5
index 0b8352a6310e..9f4224eb18a3 100644

Lines of this file are not shown. View the raw message.

include/net/raw.h +2 -3
index c51a635671a7..6324965779ec 100644

Lines of this file are not shown. View the raw message.

include/net/rawv6.h +3 -3
index 53d86b6055e8..c48c1298699a 100644

Lines of this file are not shown. View the raw message.

include/net/route.h +2 -0
index c6557fdcde2c..584b6171e313 100644

Lines of this file are not shown. View the raw message.

include/net/sctp/structs.h +2 -1
index 8d058b50f138..85ed2b59ffe7 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/if_bridge.h +14 -0
index 4c687686aa8f..e4a94f5c3a14 100644

Lines of this file are not shown. View the raw message.

kernel/audit.c +9 -2
index 7452719c659f..eec8fc5006fd 100644

Lines of this file are not shown. View the raw message.

kernel/auditfilter.c +4 -2
index a5b43f25609e..f1346bf5943f 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/verifier.c +24 -7
index 19e1f7fff07a..986659917178 100644

Lines of this file are not shown. View the raw message.

kernel/cpu.c +3 -6
index 08c2b2e30f23..69c7be3706f1 100644

Lines of this file are not shown. View the raw message.

kernel/futex/core.c +56 -26

82 lines not on this page · raw message

kernel/trace/trace_events.c +2 -2
index b85045161562..0db033438da6 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_events_filter.c +3 -0
index c79ec6cb73f4..a7a79df59dbe 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_mmiotrace.c +3 -2
index 84582bf1ed5f..e8ae2d92a678 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_probe.c +7 -6
index 1b822fc561a4..d839736e6f72 100644

Lines of this file are not shown. View the raw message.

lib/assoc_array.c +2 -1
index b537a83678e1..f70098683019 100644

Lines of this file are not shown. View the raw message.

lib/rhashtable.c +1 -0
index c949c1e3b87c..4def63ec1f65 100644

Lines of this file are not shown. View the raw message.

mm/huge_memory.c +14 -2
index fdcf89e3b1d2..f620861d0099 100644

Lines of this file are not shown. View the raw message.

mm/hugetlb.c +1 -1
index ef556f6fe970..70fe6a11daba 100644

Lines of this file are not shown. View the raw message.

mm/page_reporting.c +4 -2
index cd8e13d41df4..6014e616584c 100644

Lines of this file are not shown. View the raw message.

mm/percpu-km.c +1 -1
index 35c9941077ee..3d44e3eb1363 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/6lowpan.c +3 -15
index 096f6fc5d30b..a71855268d33 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/af_bluetooth.c +22 -0
index b983ec52a99a..16bea865e6d6 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hidp/core.c +3 -2
index 068c3c250517..225f5305cbcb 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/l2cap_core.c +27 -14

41 lines not on this page · raw message

net/bluetooth/rfcomm/core.c +17 -0
index 4f54c7df3a94..4543f536c127 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/rfcomm/tty.c +3 -4
index a58584949a95..6959ab16c2c6 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/sco.c +19 -8
index 01a01d6f01c3..b49b2d6bb778 100644

Lines of this file are not shown. View the raw message.

net/bridge/br_multicast.c +1 -0
index e5328a2777ec..ab04397dfe36 100644

Lines of this file are not shown. View the raw message.

net/bridge/br_netlink_tunnel.c +2 -1
index 8914290c75d4..e4aab0775270 100644

Lines of this file are not shown. View the raw message.

net/bridge/br_private.h +12 -2
index 19d77a8721fa..17327852c807 100644

Lines of this file are not shown. View the raw message.

net/bridge/br_vlan.c +51 -13

64 lines not on this page · raw message

net/bridge/br_vlan_options.c +117 -2

119 lines not on this page · raw message

net/bridge/netfilter/ebt_nflog.c +16 -1
index 61bf8f4465ab..426f8adc912c 100644

Lines of this file are not shown. View the raw message.

net/bridge/netfilter/nf_conntrack_bridge.c +1 -0
index abf0c9460ddf..b92069de927f 100644

Lines of this file are not shown. View the raw message.

net/can/bcm.c +424 -132

556 lines not on this page · raw message

net/can/isotp.c +222 -71

293 lines not on this page · raw message

net/can/j1939/transport.c +15 -5
index 9f77a730be48..4116b5150526 100644

Lines of this file are not shown. View the raw message.

net/ceph/auth_x.c +8 -1
index b52732337ca6..1eb82b17d240 100644

Lines of this file are not shown. View the raw message.

net/ceph/ceph_common.c +2 -2
index c3bee8f34974..6fc91ed0de7f 100644

Lines of this file are not shown. View the raw message.

net/ceph/mon_client.c +1 -1
index 82d3f1204ee4..e1f01aef263e 100644

Lines of this file are not shown. View the raw message.

net/ceph/osdmap.c +10 -2
index 033e8cf57b0e..f7be6b68dfc8 100644

Lines of this file are not shown. View the raw message.

net/core/lwt_bpf.c +3 -1
index 8c41532b4fe8..c883366a85b8 100644

Lines of this file are not shown. View the raw message.

net/core/sock.c +0 -1
index 963ea323362a..b51a154ec591 100644

Lines of this file are not shown. View the raw message.

net/ipv4/fib_semantics.c +11 -23
index e1a8e00658ba..e0370462293c 100644

Lines of this file are not shown. View the raw message.

net/ipv4/fib_trie.c +1 -1
index 5c75591bcce0..5c061dffc379 100644

Lines of this file are not shown. View the raw message.

net/ipv4/icmp.c +15 -3
index 3c74fecce238..e919d2a5169e 100644

Lines of this file are not shown. View the raw message.

net/ipv4/raw.c +33 -60

93 lines not on this page · raw message

net/ipv4/raw_diag.c +16 -17
index ccacbde30a2c..b6d92dc7b051 100644

Lines of this file are not shown. View the raw message.

net/ipv4/route.c +29 -0
index fe29a7d6bd1b..b7db0255af6e 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp_bpf.c +3 -1
index 76cd97488777..458b8a694b9d 100644

Lines of this file are not shown. View the raw message.

net/ipv4/udp_offload.c +3 -1
index 5d4413fe4195..4285d25d9982 100644

Lines of this file are not shown. View the raw message.

net/ipv6/fib6_rules.c +1 -0
index 0d4e82744921..9659a5fe7c35 100644

Lines of this file are not shown. View the raw message.

net/ipv6/ila/ila_common.c +12 -0
index b8d43ed4689d..ca54a227fc2f 100644

Lines of this file are not shown. View the raw message.

net/ipv6/ip6_fib.c +8 -9
index 83f15e930b57..12568b7ab703 100644

Lines of this file are not shown. View the raw message.

net/ipv6/ip6_tunnel.c +3 -0
index dda90c77f898..148a9bac4ed5 100644

Lines of this file are not shown. View the raw message.

net/ipv6/raw.c +38 -70

108 lines not on this page · raw message

net/ipv6/route.c +4 -4
index b8bf919a940f..bda1d39f0b2e 100644

Lines of this file are not shown. View the raw message.

net/iucv/af_iucv.c +20 -1
index 8c08f07ce465..36b0c784f779 100644

Lines of this file are not shown. View the raw message.

net/mac80211/iface.c +7 -1
index 644eabaf10e3..9abec4f929ca 100644

Lines of this file are not shown. View the raw message.

net/mac80211/rx.c +2 -0
index 8f497fe234ed..8ec630a4d069 100644

Lines of this file are not shown. View the raw message.

net/mac802154/llsec.c +5 -0
index af6a7e39b7b7..7c8593d7abad 100644

Lines of this file are not shown. View the raw message.

net/mpls/af_mpls.c +4 -0
index fa095bc8b0c1..5c80fb93bb7a 100644

Lines of this file are not shown. View the raw message.

net/ncsi/ncsi-netlink.c +4 -0
index db350b8f5d88..82b22368a540 100644

Lines of this file are not shown. View the raw message.

net/netfilter/ipset/ip_set_hash_gen.h +1 -1
index 78f5de3cfc51..25550a694edc 100644

Lines of this file are not shown. View the raw message.

net/netfilter/ipvs/ip_vs_conn.c +15 -29

44 lines not on this page · raw message

net/netfilter/ipvs/ip_vs_core.c +1 -0
index 0abd47a4109f..ea9b5f434ec0 100644

Lines of this file are not shown. View the raw message.

net/netfilter/ipvs/ip_vs_ctl.c +64 -13

77 lines not on this page · raw message

net/netfilter/ipvs/ip_vs_lc.c +2 -2
index 9d34d81fc6f1..534db3c4a016 100644

Lines of this file are not shown. View the raw message.

net/netfilter/ipvs/ip_vs_proto_sctp.c +0 -2
index c67317be17df..91ce6ef6569e 100644

Lines of this file are not shown. View the raw message.

net/netfilter/ipvs/ip_vs_proto_tcp.c +0 -2
index b382810156b2..662de09b27b8 100644

Lines of this file are not shown. View the raw message.

net/netfilter/ipvs/ip_vs_sync.c +2 -5
index bfb1d04b0151..04ae99aacb85 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_conntrack_sip.c +1 -1
index 4326d5ea0400..0f6147ea9e67 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_nat_sip.c +1 -1
index 76a8bbb44951..7687d3d15df2 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_payload.c +1 -11
index ae0c4cd2dd1c..df296551ba6f 100644

Lines of this file are not shown. View the raw message.

net/netfilter/xt_hashlimit.c +15 -1
index 9c5cfd74a0ee..26918fa575af 100644

Lines of this file are not shown. View the raw message.

net/openvswitch/actions.c +14 -12
index 3b3cc6ea274f..99fff9d6596c 100644

Lines of this file are not shown. View the raw message.

net/openvswitch/datapath.c +40 -14

54 lines not on this page · raw message

net/openvswitch/datapath.h +1 -1
index 38f7d3e66ca6..62e7ad32f837 100644

Lines of this file are not shown. View the raw message.

net/openvswitch/flow.c +18 -10
index 94531289ed26..3f8a0d05161c 100644

Lines of this file are not shown. View the raw message.

net/openvswitch/meter.c +19 -14
index 0cf3dda5319f..b82bdbe57b6c 100644

Lines of this file are not shown. View the raw message.

net/openvswitch/vport.c +4 -2
index da733b92ae8a..2c876424864d 100644

Lines of this file are not shown. View the raw message.

net/packet/af_packet.c +9 -4
index 793720e50679..f73e2c3b813d 100644

Lines of this file are not shown. View the raw message.

net/phonet/pep.c +2 -0
index 612caf1fe37a..cac9631bd84a 100644

Lines of this file are not shown. View the raw message.

net/qrtr/af_qrtr.c +8 -0
index 0018a9b32241..31371f3c1a57 100644

Lines of this file are not shown. View the raw message.

net/qrtr/ns.c +20 -13
index 36a7a9ad6b50..4246d21da5d1 100644

Lines of this file are not shown. View the raw message.

net/rds/ib.c +4 -0
index ec45664f3876..810a9b76101f 100644

Lines of this file are not shown. View the raw message.

net/rds/ib_cm.c +4 -0
index f643d1f59c3b..f23233e0a53c 100644

Lines of this file are not shown. View the raw message.

net/rds/recv.c +15 -0
index f570d64367a4..24a82e335d5a 100644

Lines of this file are not shown. View the raw message.

net/rds/tcp.c +9 -5
index b560d06e6d96..f66cbf0b9895 100644

Lines of this file are not shown. View the raw message.

net/sched/act_tunnel_key.c +10 -4
index 0d90349636f0..5a28adcd370a 100644

Lines of this file are not shown. View the raw message.

net/sched/cls_route.c +26 -9
index 1ad4b3e60eb3..695c91961e33 100644

Lines of this file are not shown. View the raw message.

net/sched/sch_cake.c +0 -1
index 45b175e53aac..8e3010a18382 100644

Lines of this file are not shown. View the raw message.

net/sctp/associola.c +13 -1
index c333a63c3465..8fc11f06ab23 100644

Lines of this file are not shown. View the raw message.

net/sctp/auth.c +1 -1
index 34964145514e..a983f96bb0c3 100644

Lines of this file are not shown. View the raw message.

net/sctp/input.c +49 -57

106 lines not on this page · raw message

net/sctp/ipv6.c +39 -43

82 lines not on this page · raw message

net/sctp/outqueue.c +1 -0
index 83a89dcf75ed..4736781078f9 100644

Lines of this file are not shown. View the raw message.

net/sctp/sm_make_chunk.c +20 -6
index e9d89409cb5e..06309c1869da 100644

Lines of this file are not shown. View the raw message.

net/sctp/sm_statefuns.c +6 -2
index 17b9deb0cc75..ea5c941821ec 100644

Lines of this file are not shown. View the raw message.

net/sctp/stream.c +5 -1
index d38e5431f359..34754ba23198 100644

Lines of this file are not shown. View the raw message.

net/smc/smc_core.c +1 -1
index 0e9d22e9c760..995c48388885 100644

Lines of this file are not shown. View the raw message.

net/smc/smc_llc.c +2 -1
index d5ee961ca72d..572d02bfd3ed 100644

Lines of this file are not shown. View the raw message.

net/tipc/core.c +5 -0
index 7724499f516e..4f01691aea3a 100644

Lines of this file are not shown. View the raw message.

net/tipc/discover.c +12 -2
index 2730310249e3..28665de32245 100644

Lines of this file are not shown. View the raw message.

net/tipc/netlink.c +5 -1
index 35e167de0fcf..bebeca619cb3 100644

Lines of this file are not shown. View the raw message.

net/tipc/netlink_compat.c +4 -0
index 6f0c09b6a153..e94c9ca2924f 100644

Lines of this file are not shown. View the raw message.

net/tipc/node.c +10 -5
index 8e52b2995817..e294fa3aa4c2 100644

Lines of this file are not shown. View the raw message.

net/tipc/socket.c +2 -1
index 321f3317e327..f41e9b51f468 100644

Lines of this file are not shown. View the raw message.

net/tls/tls_sw.c +11 -8
index 1732e3549a57..c2344a46dddd 100644

Lines of this file are not shown. View the raw message.

net/vmw_vsock/virtio_transport.c +2 -1
index e131121533ad..b1355c0e3b1f 100644

Lines of this file are not shown. View the raw message.

net/wireless/nl80211.c +3 -1
index 33e2c29fbd3f..3b2a70b467de 100644

Lines of this file are not shown. View the raw message.

net/wireless/pmsr.c +19 -2
index 7503c7dd71ab..19a1b256fc0e 100644

Lines of this file are not shown. View the raw message.

net/wireless/scan.c +1 -1
index 2b64bf73cbcf..7d0ddc467232 100644

Lines of this file are not shown. View the raw message.

net/x25/af_x25.c +6 -2
index a7ecf2956cdd..3dbbf52e2f9b 100644

Lines of this file are not shown. View the raw message.

net/xfrm/xfrm_policy.c +2 -2
index 37c4128e313c..26bc08213955 100644

Lines of this file are not shown. View the raw message.

security/integrity/ima/ima_appraise.c +7 -2
index 7122a359a268..615a20b9eb52 100644

Lines of this file are not shown. View the raw message.

security/keys/keyring.c +8 -6
index 3f609316a096..8b938e61ecd8 100644

Lines of this file are not shown. View the raw message.

sound/core/pcm_native.c +7 -0
index 51e5dd9ee793..5d80aaf9e542 100644

Lines of this file are not shown. View the raw message.

sound/pci/lx6464es/lx6464es.c +1 -4
index b92ea074ff2a..459016d6134c 100644

Lines of this file are not shown. View the raw message.

sound/pci/lx6464es/lx_core.c +1 -4
index 7b387886c0ef..1a7d26c5ea71 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/bt-sco.c +14 -4
index 4d286844e3c8..7c42fcdee27b 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/max98090.c +3 -2
index c7df685be4ea..531cd172cb5c 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/max98095.c +3 -2
index 9bdc6392382a..c0daa18e7d8f 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/tas2562.c +22 -13
index f1ff204e3ad0..4f02af2efcb4 100644

Lines of this file are not shown. View the raw message.

sound/soc/meson/aiu-fifo-spdif.c +5 -0
index 44eb6faacf44..124d2d9ce716 100644

Lines of this file are not shown. View the raw message.

sound/usb/6fire/chip.c +4 -0
index 31b8989a021b..5a0d522961b4 100644

Lines of this file are not shown. View the raw message.

sound/usb/endpoint.c +13 -10
index 8e2b90cb5b95..e9bbc355cfb4 100644

Lines of this file are not shown. View the raw message.

sound/usb/midi.c +2 -0
index 26b3ae2ad24b..6b491bfe852b 100644

Lines of this file are not shown. View the raw message.

sound/usb/pcm.c +7 -0
index f4494d054917..802ed1dbd23b 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/clone3/clone3_set_tid.c +1 -1
index 0229e9ebb995..a0cc8940e8f8 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.