tree e22a8b522d1e52594627781970a6da50e9fa614c
parent 2c55887e3bbbf63fdb590c3918a7fa6c6944e7d4
parent 5cd40b137cba45a5a3d0b9a8554f779a3e0e93b4
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1633597442 -0700
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1633597442 -0700

merge-upstream/v5.10.71 from branch/tag: upstream/v5.10.71 into branch: cos-5.10

Changelog:
-------------------------------------------------------------

Aaro Koskinen (1):
      smsc95xx: fix stalled rx after link change

Andrea Claudi (1):
      ipvs: check that ip_vs_conn_tab_bits is between 8 and 20

Andrej Shadura (1):
      HID: u2fzero: ignore incomplete packets without data

Andrew Lunn (3):
      dsa: mv88e6xxx: 6161: Use chip wide MAX MTU
      dsa: mv88e6xxx: Fix MTU definition
      dsa: mv88e6xxx: Include tagger overhead when setting MTU for DSA and CPU ports

Andrey Gusakov (1):
      gpio: pca953x: do not ignore i2c errors

Anirudh Rayabharam (1):
      HID: usbhid: free raw_report buffers in usbhid_stop

Arnd Bergmann (1):
      net: ks8851: fix link error

Cameron Berkenpas (1):
      ALSA: hda/realtek: Quirks to enable speaker output for Lenovo Legion 7i 15IMHG05, Yoga 7i 14ITL5/15ITL5, and 13s Gen2 laptops.

Charlene Liu (1):
      drm/amd/display: Pass PCI deviceid into DC

Chen Jingwen (1):
      elf: don't use MAP_FIXED_NOREPLACE for elf interpreter mappings

Chih-Kang Chang (1):
      mac80211: Fix ieee80211_amsdu_aggregate frag_tail bug

Christoph Lameter (1):
      IB/cma: Do not send IGMP leaves for sendonly Multicast groups

Dan Carpenter (1):
      crypto: ccp - fix resource leaks in ccp_run_aes_gcm_cmd()

Dongliang Mu (1):
      usb: hso: remove the bailout parameter

Eric Biggers (1):
      fs-verity: fix signed integer overflow with i_size near S64_MAX

Eric Dumazet (3):
      af_unix: fix races in sk_peer_pid and sk_peer_cred accesses
      net: udp: annotate data race around udp_sk(sk)->corkflag
      netfilter: conntrack: serialize hash resizes and cleanups

F.A.Sulaiman (1):
      HID: betop: fix slab-out-of-bounds Write in betop_probe

Feng Zhou (1):
      ixgbe: Fix NULL pointer dereference in ixgbe_xdp_setup

Florian Fainelli (1):
      net: phy: bcm7xxx: Fixed indirect MMD operations

Florian Westphal (1):
      mptcp: don't return sockets in foreign netns

Greg Kroah-Hartman (1):
      Linux 5.10.71

Guangbin Huang (1):
      net: hns3: fix always enable rx vlan filter problem after selftest

Haimin Zhang (1):
      KVM: x86: Handle SRCU initialization failure during page track init

Hawking Zhang (1):
      drm/amdgpu: correct initial cp_hqd_quantum for gfx9

Hou Tao (2):
      bpf: Handle return value of BPF_PROG_TYPE_STRUCT_OPS prog
      ext4: limit the number of blocks in one ADD_RANGE TLV

Huazhong Tan (1):
      net: hns3: fix prototype warning

Igor Matheus Andrade Torrente (1):
      tty: Fix out-of-bound vmalloc access in imageblit

Jacob Keller (2):
      e100: fix length calculation in e100_get_regs_len
      e100: fix buffer overrun in e100_get_regs

James Morse (1):
      cpufreq: schedutil: Destroy mutex before kobject_put() frees the memory

Jason Gunthorpe (1):
      RDMA/cma: Do not change route.addr.src_addr.ss_family

Jeffle Xu (1):
      ext4: fix reserved space counter leakage

Jens Axboe (1):
      Revert "block, bfq: honor already-setup queue merges"

Jia He (1):
      ACPI: NFIT: Use fallback node id when numa info in NFIT table is incorrect

Jian Shen (3):
      net: hns3: do not allow call hns3_nic_net_open repeatedly
      net: hns3: fix mixed flag HCLGE_FLAG_MQPRIO_ENABLE and HCLGE_FLAG_DCB_ENABLE
      net: hns3: fix show wrong state when add existing uc mac address

Jiri Benc (2):
      selftests, bpf: Fix makefile dependencies on libbpf
      selftests, bpf: test_lwt_ip_encap: Really disable rp_filter

Johan Hovold (5):
      ipack: ipoctal: fix stack information leak
      ipack: ipoctal: fix tty registration race
      ipack: ipoctal: fix tty-registration error handling
      ipack: ipoctal: fix missing allocation-failure check
      ipack: ipoctal: fix module reference leak

Johannes Berg (3):
      mac80211: fix use-after-free in CCMP/GCMP RX
      mac80211: mesh: fix potentially unaligned access
      mac80211-hwsim: fix late beacon hrtimer handling

Jonathan Hsu (1):
      scsi: ufs: Fix illegal offset in UPIU event trace

Jozsef Kadlecsik (1):
      netfilter: ipset: Fix oversized kvmalloc() calls

Kan Liang (1):
      perf/x86/intel: Update event constraints for ICX

Keith Busch (1):
      nvme: add command id quirk for apple controllers

Kevin Hao (1):
      cpufreq: schedutil: Use kobject release() method to free sugov_tunables

Linus Torvalds (1):
      mm: don't allow oversized kvmalloc() calls

Lorenz Bauer (1):
      bpf: Exempt CAP_BPF from checks against bpf_jit_limit

Lorenzo Bianconi (1):
      mac80211: limit injected vht mcs/nss in ieee80211_parse_tx_radiotap

Matthew Auld (1):
      drm/i915/request: fix early tracepoints

Maxim Levitsky (1):
      KVM: x86: nSVM: don't copy virt_ext from vmcb12

Nadezda Lutovinova (3):
      hwmon: (w83793) Fix NULL pointer dereference by removing unnecessary structure field
      hwmon: (w83792d) Fix NULL pointer dereference by removing unnecessary structure field
      hwmon: (w83791d) Fix NULL pointer dereference by removing unnecessary structure field

Nirmoy Das (1):
      debugfs: debugfs_create_file_size(): use IS_ERR to check for error

Pablo Neira Ayuso (1):
      netfilter: nf_tables: Fix oversized kvmalloc() calls

Paul Fertser (3):
      hwmon: (tmp421) handle I2C errors
      hwmon: (tmp421) report /PVLD condition as fault
      hwmon: (tmp421) fix rounding for negative values

Pawel Laszczak (1):
      usb: cdns3: fix race condition before setting doorbell

Peng Li (1):
      net: hns3: reconstruct function hns3_self_test

Piotr Krysiuk (1):
      bpf, mips: Validate conditional branch offsets

Rahul Lakkireddy (1):
      scsi: csiostor: Add module softdep on cxgb4

Ritesh Harjani (1):
      ext4: fix loff_t overflow in ext4_max_bitmap_size()

Saurav Kashyap (1):
      scsi: qla2xxx: Changes to support kdump kernel for NVMe BFS

Sean Christopherson (1):
      KVM: rseq: Update rseq when processing NOTIFY_RESUME on xfer to KVM guest

Sean Young (1):
      media: ir_toy: prevent device from hanging during transmit

Shuming Fan (1):
      ASoC: dapm: use component prefix when checking widget names

Tao Liu (1):
      RDMA/cma: Fix listener leak in rdma_cma_listen_on_all() failure

Theodore Ts'o (1):
      ext4: add error checking to ext4_ext_replay_set_iblocks()

Vadim Pasternak (2):
      hwmon: (mlxreg-fan) Return non-zero value when fan current state is enforced from sysfs
      hwmon: (pmbus/mp2975) Add missed POUT attribute for page 1 mp2975 controller

Vitaly Kuznetsov (2):
      KVM: x86: Fix stack-out-of-bounds memory access from ioapic_write_indirect()
      KVM: nVMX: Filter out all unsupported controls when eVMCS was activated

Vlad Buslov (1):
      net: sched: flower: protect fl_walk() with rcu

Vladimir Oltean (1):
      net: enetc: fix the incorrect clearing of IF_MODE bits

Xiao Liang (1):
      net: ipv4: Fix rtnexthop len when RTA_FLOW is present

Xin Long (1):
      sctp: break out if skb_header_pointer returns NULL in sctp_rcv_ootb

Yixing Liu (1):
      RDMA/hns: Fix inaccurate prints

Yonglong Liu (1):
      net: hns3: keep MAC pause mode when multiple TCs are enabled

Zelin Deng (1):
      x86/kvmclock: Move this_cpu_pvti into kvmclock.h

yangerkun (1):
      ext4: fix potential infinite loop in ext4_dx_readdir()

BUG=b/202367758
TEST=tryjob, validation and K8s e2e
RELEASE_NOTE=Updated the Linux kernel to v5.10.71.

Signed-off-by: COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com>
Change-Id: I04b0c8c823c96e28e631adfae8279353c06aa08e
