tree 054275cdfc4ef1b51e0eeacb6b8dedf9c155c6b2
parent df374fd279f3e23a11dc0684f3ce73d968f65401
parent c4ca4659678e07f0a14b3b143f6fb746efe11f88
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1615280696 -0800
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1615280697 -0800

merge-upstream/v5.4.103 from branch/tag: upstream/v5.4.103 into branch: cos-5.4

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

Alexander Egorenkov (1):
      net/af_iucv: remove WARN_ONCE on malformed RX packets

Ard Biesheuvel (1):
      crypto: tcrypt - avoid signed overflow in byte count

Chao Leng (3):
      nvme-core: add cancel tagset helpers
      nvme-rdma: add clean action for failed reconnection
      nvme-tcp: add clean action for failed reconnection

Chao Yu (1):
      f2fs: fix to set/clear I_LINKABLE under i_lock

Chris Leech (2):
      scsi: iscsi: Ensure sysfs attributes are limited to PAGE_SIZE
      scsi: iscsi: Verify lengths on passthrough PDUs

Christian Gromm (1):
      staging: most: sound: add sanity check for function argument

Christoph Hellwig (2):
      nvme-pci: refactor nvme_unmap_data
      nvme-pci: fix error unwind in nvme_map_data

Claire Chang (1):
      Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl

Cong Wang (1):
      net: fix dev_ifsioc_locked() race condition

DENG Qingfang (1):
      net: ag71xx: remove unnecessary MTU reservation

Defang Bo (1):
      drm/amdgpu: Add check to prevent IH overflow

Di Zhu (1):
      pktgen: fix misuse of BUG_ON() in pktgen_thread_worker()

Dinghao Liu (1):
      staging: fwserial: Fix error handling in fwserial_create

Eckhart Mohr (1):
      ALSA: hda/realtek: Add quirk for Clevo NH55RZQ

Fangrui Song (1):
      x86/build: Treat R_386_PLT32 relocation as R_386_PC32

Gao Xiang (1):
      erofs: fix shift-out-of-bounds of blkszbits

Geert Uytterhoeven (1):
      dt-bindings: net: btusb: DT fix s/interrupt-name/interrupt-names/

Gopal Tiwari (1):
      Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data

Greg Kroah-Hartman (1):
      Linux 5.4.103

Hans Verkuil (1):
      media: v4l2-ctrls.c: fix shift-out-of-bounds in std_validate

Hans de Goede (7):
      brcmfmac: Add DMI nvram filename quirk for Predia Basic tablet
      brcmfmac: Add DMI nvram filename quirk for Voyo winpad A15 tablet
      ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr()
      ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R tablet
      ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet
      ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet
      ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet

Heiner Kallweit (1):
      x86/reboot: Add Zotac ZBOX CI327 nano PCI reboot quirk

Jaegeuk Kim (1):
      f2fs: handle unallocated section and zone on pinned/atgc

Jan Beulich (2):
      Xen/gnttab: handle p2m update errors on a per-slot basis
      xen-netback: respect gnttab_map_refs()'s return value

Jens Axboe (1):
      swap: fix swapfile read/write offset

Jim Mattson (1):
      perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[]

Jiri Slaby (1):
      vt/consolemap: do font sum unsigned

Joe Perches (1):
      sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output

John David Anglin (1):
      parisc: Bump 64-bit IRQ stack size to 64 KB

Josef Bacik (2):
      nbd: handle device refs for DESTROY_ON_DISCONNECT properly
      btrfs: fix error handling in commit_fs_roots

Juerg Haefliger (1):
      staging: bcm2835-audio: Replace unsafe strcpy() with strscpy()

Juri Lelli (1):
      sched/features: Fix hrtick reprogramming

Lech Perczak (1):
      net: usb: qmi_wwan: support ZTE P685M modem

Lee Duncan (1):
      scsi: iscsi: Restrict sessions and handles to admin capabilities

Li Xinhai (1):
      mm/hugetlb.c: fix unnecessary address expansion of pmd sharing

Marco Elver (1):
      net: fix up truesize of cloned skb in skb_prepare_for_shift()

Marek Vasut (2):
      rsi: Fix TX EAPOL packet handling against iwlwifi AP
      rsi: Move card interrupt handling to RX thread

Miaoqing Pan (1):
      ath10k: fix wmi mgmt tx queue full due to race condition

Nathan Chancellor (1):
      MIPS: VDSO: Use CLANG_FLAGS instead of filtering out '--target='

Nicholas Kazlauskas (1):
      drm/amd/display: Guard against NULL pointer deref when get_i2c_info fails

Nirmoy Das (1):
      PCI: Add a REBAR size quirk for Sapphire RX 5600 XT Pulse

Paul Burton (1):
      MIPS: Drop 32-bit asm string functions

Randy Dunlap (1):
      JFS: more checks for invalid superblock

Ricardo Ribalda (1):
      media: uvcvideo: Allow entities with no pads

Rokudo Yan (1):
      zsmalloc: account the number of compacted pages correctly

Russell King (1):
      dt-bindings: ethernet-controller: fix fixed-link specification

Sabyrzhan Tasbolatov (1):
      smackfs: restrict bytes count in smackfs write functions

Sakari Ailus (1):
      media: v4l: ioctl: Fix memory leak in video_usercopy

Sean Young (1):
      media: mceusb: sanity check for prescaler value

Sergey Senozhatsky (1):
      drm/virtio: use kvmalloc for large allocations

Shaoying Xu (1):
      arm64 module: set plt* section addresses to 0x0

Takashi Iwai (1):
      ALSA: hda/realtek: Apply dual codec quirks for MSI Godlike X570 board

Tian Tao (1):
      drm/hisilicon: Fix use-after-free

Tony Lindgren (1):
      wlcore: Fix command execute failure 19 for wl12xx

Vladimir Oltean (1):
      net: bridge: use switchdev for port flags set through sysfs too

Werner Sembach (1):
      ALSA: hda/realtek: Add quirk for Intel NUC 10

Yumei Huang (1):
      xfs: Fix assert failure in xfs_setattr_size()

Zqiang (1):
      udlfb: Fix memory leak in dlfb_usb_probe

jingle.wu (1):
      Input: elantech - fix protocol errors for some trackpoints in SMBus mode

BUG=b/182113249
TEST=tryjob, validation and K8s e2e
RELEASE_NOTE=Updated the Linux kernel to upstream/v5.4.103.

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