tree 3786d0752d74cd0399799c916e489c0ceaab2837
parent af28e0154e1155cbe701de578f3e268d0f9b6fff
parent 31cdcb6d430f07760dd2f540a354b11e6bb6a4a4
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1633597231 -0700
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1633597232 -0700

merge-upstream/v5.4.151 from branch/tag: upstream/v5.4.151 into branch: main-R89-cos-5.4

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

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

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

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

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

Dongliang Mu (2):
      usb: hso: fix error handling code of hso_create_net_device
      usb: hso: remove the bailout parameter

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

Eric Dumazet (2):
      af_unix: fix races in sk_peer_pid and sk_peer_cred accesses
      net: udp: annotate data race around udp_sk(sk)->corkflag

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

Greg Kroah-Hartman (1):
      Linux 5.4.151

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

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

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

Jian Shen (1):
      net: hns3: do not allow call hns3_nic_net_open repeatedly

Jiri Benc (1):
      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

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

Leon Yu (1):
      net: stmmac: don't attach interface until resume finishes

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

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

Oliver Neukum (1):
      hso: fix bailout in error case of probe

Paul Fertser (2):
      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

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

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

Rob Herring (1):
      PCI: Fix pci_host_bridge struct device release/free handling

Vadim Pasternak (1):
      hwmon: (mlxreg-fan) Return non-zero value when fan current state is enforced from sysfs

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

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

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

sumiyawang (1):
      libnvdimm/pmem: Fix crash triggered when I/O in-flight during unbind

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

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

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