tree 371b700ef12ffdbfa0fe6c1d5283dfd333f30ece
parent c234b69f8608787724f52c91d78315c1e8f0dadb
parent c6bf0ed9d1a727fcd98f6a52bbdd2afbdfb44924
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1630659879 -0700
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1630659880 -0700

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

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

Andrey Ignatov (1):
      rtnetlink: Return correct error on changing device netns

Andrii Nakryiko (2):
      bpf: Track contents of read-only maps as scalars
      bpf: Fix cast to pointer from integer of different size warning

Ben Skeggs (1):
      drm/nouveau/disp: power down unused DP links during init

Christophe JAILLET (1):
      xgene-v2: Fix a resource leak in the error handling path of 'xge_probe()'

Colin Ian King (1):
      perf/x86/intel/uncore: Fix integer overflow on 23 bit left shift of a u32

DENG Qingfang (1):
      net: dsa: mt7530: fix VLAN traffic leaks again

Denis Efremov (1):
      Revert "floppy: reintroduce O_NDELAY fix"

Filipe Manana (1):
      btrfs: fix race between marking inode needs to be logged and log syncing

Florian Westphal (1):
      netfilter: conntrack: collect all entries in one cycle

Gal Pressman (1):
      RDMA/efa: Free IRQ vectors on error flow

Gerd Rausch (1):
      net/rds: dma_map_sg is entitled to merge entries

Greg Kroah-Hartman (1):
      Linux 5.4.144

Guangbin Huang (1):
      net: hns3: fix get wrong pfc_en when query PFC configuration

Guenter Roeck (1):
      ARC: Fix CONFIG_STACKDEPOT

Guojia Liao (1):
      net: hns3: fix duplicate node in VLAN list

Helge Deller (1):
      Revert "parisc: Add assembly implementations for memset, strlen, strcpy, strncpy and strcat"

Jerome Brunet (1):
      usb: gadget: u_audio: fix race condition on endpoint stop

Johan Hovold (1):
      Revert "USB: serial: ch341: fix character loss at high transfer rates"

Kefeng Wang (1):
      once: Fix panic when module unload

Li Jinlin (1):
      scsi: core: Fix hang of freezing queue between blocking and running device

Linus Torvalds (1):
      vt_kdsetmode: extend console locking

Mark Yacoub (1):
      drm: Copy drm_wait_vblank to user before returning

Matthew Brost (1):
      drm/i915: Fix syncmap memory leak

Maxim Kiselev (1):
      net: marvell: fix MVNETA_TX_IN_PRGRS bit number

Michał Mirosław (1):
      opp: remove WARN when no valid OPPs remain

Miklos Szeredi (1):
      ovl: fix uninitialized pointer read in ovl_lookup_real_one()

Naresh Kumar PBS (1):
      RDMA/bnxt_re: Add missing spin lock initialization

Neeraj Upadhyay (1):
      vringh: Use wiov->used to check for read/write desc order

Parav Pandit (2):
      virtio: Improve vq->broken access to avoid any compiler optimization
      virtio_pci: Support surprise removal of virtio pci device

Peter Collingbourne (1):
      net: don't unconditionally copy_from_user a struct ifreq for socket ioctls

Petr Vorel (1):
      arm64: dts: qcom: msm8994-angler: Fix gpio-reserved-ranges 85-88

Qu Wenruo (1):
      btrfs: fix NULL pointer dereference when deleting device by invalid id

Richard Guy Briggs (1):
      audit: move put_tree() to avoid trim_trees refcount underflow and UAF

Sasha Neftin (1):
      e1000e: Fix the max snoop/no-snoop latency for 10M

Sean Christopherson (1):
      KVM: x86/mmu: Treat NX as used (not reserved) for all !TDP shadow MMUs

Shai Malin (2):
      qed: qed ll2 race condition fixes
      qed: Fix null-pointer dereference in qed_rdma_create_qp()

Shaik Sajida Bhanu (1):
      mmc: sdhci-msm: Update the software timeout value for sdhc

Shreyansh Chouhan (1):
      ip_gre: add validation for csum_start

Stefan Mätje (1):
      can: usb: esd_usb2: esd_usb2_rx_event(): fix the interchange of the CAN RX and TX error counters

Thinh Nguyen (1):
      usb: dwc3: gadget: Fix dwc3_calc_trbs_left()

Tuo Li (1):
      IB/hfi1: Fix possible null-pointer dereference in _extend_sdma_tx_descs()

Wesley Cheng (1):
      usb: dwc3: gadget: Stop EP0 transfers during pullup disable

Xiaolong Huang (1):
      net: qrtr: fix another OOB Read in qrtr_endpoint_post

Yafang Shao (1):
      mm, oom: make the calculation of oom badness more accurate

Yufeng Mo (1):
      net: hns3: clear hardware resource when loading driver

Zhengjun Zhang (1):
      USB: serial: option: add new VID/PID to support Fibocom FG150

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

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