tree efab2a875c6fc737599209655d2afe2bab0d72c6
parent 750a3c1100bb6cd44b744f29ffa2f087bd7ac810
parent 4037804c55745738e0950658a5132790e6ac52e4
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1624524981 -0700
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1624524981 -0700

merge-upstream/v5.4.128 from branch/tag: upstream/v5.4.128 into branch: main-R85-13310.B-cos-5.4

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

Aleksander Jan Bajkowski (2):
      net: lantiq: disable interrupt before sheduling NAPI
      lantiq: net: fix duplicated skb in rx descriptor ring

Andrew Lunn (1):
      usb: core: hub: Disable autosuspend for Cypress CY7C65632

Andrew Morton (1):
      mm/slub.c: include swab.h

Antti Järvinen (1):
      PCI: Mark TI C667X to avoid bus reset

Arnaldo Carvalho de Melo (1):
      tools headers UAPI: Sync linux/in.h copy with the kernel sources

Avraham Stern (1):
      cfg80211: avoid double free of PMSR request

Axel Lin (1):
      regulator: bd70528: Fix off-by-one for buck123 .n_voltages setting

Aya Levin (1):
      net/mlx5e: Block offload of outer header csum for UDP tunnels

Bumyong Lee (1):
      dmaengine: pl330: fix wrong usage of spinlock flags in dma_cyclc

Changbin Du (1):
      net: make get_net_ns return error if NET_NS is disabled

Chen Li (1):
      radeon: use memcpy_to/fromio for UVD fw upload

Chengyang Fan (1):
      net: ipv4: fix memory leak in ip_mc_add1_src

Chiqijun (1):
      PCI: Work around Huawei Intelligent NIC VF FLR erratum

Christophe JAILLET (4):
      alx: Fix an error handling path in 'alx_probe()'
      qlcnic: Fix an error handling path in 'qlcnic_probe()'
      netxen_nic: Fix an error handling path in 'netxen_nic_probe()'
      be2net: Fix an error handling path in 'be_probe()'

Dan Carpenter (1):
      afs: Fix an IS_ERR() vs NULL check

Davide Caratti (1):
      net/mlx5e: allow TSO on VXLAN over VLAN topologies

Dima Chumak (1):
      net/mlx5e: Fix page reclaim for dead peer hairpin

Dongliang Mu (1):
      net: usb: fix possible use-after-free in smsc75xx_bind

Eric Auger (1):
      KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read

Eric Dumazet (1):
      net/af_unix: fix a data-race in unix_dgram_sendmsg / unix_release_sock

Esben Haabendal (2):
      net: ll_temac: Make sure to free skb when it is completely used
      net: ll_temac: Fix TX BD buffer overwrite

Fugang Duan (1):
      net: fec_ptp: add clock rate zero check

Greg Kroah-Hartman (1):
      Linux 5.4.128

Huy Nguyen (1):
      net/mlx5e: Remove dependency in IPsec initialization flows

Ido Schimmel (1):
      rtnetlink: Fix regression in bridge VLAN configuration

Jack Pham (1):
      usb: dwc3: debugfs: Add and remove endpoint dirs dynamically

Jack Yu (1):
      ASoC: rt5659: Fix the lost powers for the HDA header

Jakub Kicinski (1):
      ptp: improve max_adj check against unreasonable values

Jim Mattson (1):
      kvm: LAPIC: Restore guard to prevent illegal APIC register access

Jisheng Zhang (1):
      net: stmmac: dwmac1000: Fix extended MAC address registers definition

Joakim Zhang (2):
      net: fec_ptp: fix issue caused by refactor the fec_devtype
      net: stmmac: disable clocks in stmmac_remove_config_dt()

Johannes Berg (1):
      cfg80211: make certificate generation more robust

Kees Cook (2):
      mm/slub: clarify verification reporting
      mm/slub: fix redzoning for small allocations

Linyu Yuan (1):
      net: cdc_eem: fix tx fixup skb leak

Maciej Żenczykowski (1):
      net: cdc_ncm: switch to eth%d interface naming

Maor Gottlieb (1):
      net/mlx5: Consider RoCE cap before init RDMA resources

Marcelo Ricardo Leitner (1):
      net/sched: act_ct: handle DNAT tuple collision

Maxim Mikityanskiy (2):
      netfilter: synproxy: Fix out of bounds when parsing TCP options
      sch_cake: Fix out of bounds when parsing TCP options and header

Michael Chan (1):
      bnxt_en: Rediscover PHY capabilities after firmware reset

Nanyong Sun (1):
      net: ipv4: fix memory leak in netlbl_cipsov4_add_std

Nicolas Dichtel (1):
      vrf: fix maximum MTU

Nikolay Aleksandrov (2):
      net: bridge: fix vlan tunnel dst null pointer dereference
      net: bridge: fix vlan tunnel dst refcnt when egressing

Norbert Slusarek (1):
      can: bcm: fix infoleak in struct bcm_msg_head

Oleksij Rempel (1):
      can: j1939: fix Use-after-Free, hold skb ref while in use

Pali Rohár (1):
      PCI: aardvark: Fix kernel panic during PIO transfer

Paolo Abeni (1):
      udp: fix race between close() and udp_abort()

Patrice Chotard (1):
      spi: stm32-qspi: Always wait BUSY bit to be cleared in stm32_qspi_wait_cmd()

Pavel Machek (1):
      cxgb4: fix wrong shift.

Pavel Skripkin (5):
      net: rds: fix memory leak in rds_recvmsg
      net: qrtr: fix OOB Read in qrtr_endpoint_post
      net: hamradio: fix memory leak in mkiss_close
      net: ethernet: fix potential use-after-free in ec_bhf_remove
      can: mcba_usb: fix memory leak in mcba_usb

Peter Chen (1):
      usb: dwc3: core: fix kernel panic when do reboot

Randy Dunlap (2):
      dmaengine: ALTERA_MSGDMA depends on HAS_IOMEM
      dmaengine: QCOM_HIDMA_MGMT depends on HAS_IOMEM

Remi Pommarel (1):
      PCI: aardvark: Don't rely on jiffies while holding spinlock

Riwen Lu (1):
      hwmon: (scpi-hwmon) shows the negative temperature properly

Sean Christopherson (1):
      KVM: x86: Immediately reset the MMU context when the SMM flag is cleared

Sergio Paracuellos (1):
      pinctrl: ralink: rt2880: avoid to error in calls is pin is already enabled

Shanker Donthineni (1):
      PCI: Mark some NVIDIA GPUs to avoid bus reset

Somnath Kotur (1):
      bnxt_en: Call bnxt_ethtool_free() in bnxt_init_one() error path

Sriharsha Basavapatna (1):
      PCI: Add ACS quirk for Broadcom BCM57414 NIC

Steven Rostedt (VMware) (3):
      tracing: Do not stop recording cmdlines when tracing is off
      tracing: Do not stop recording comms if the trace file is being read
      tracing: Do no increment trace_clock_global() by one

Sven Eckelmann (1):
      batman-adv: Avoid WARN_ON timing related checks

Tetsuo Handa (1):
      can: bcm/raw/isotp: use per module netdevice notifier

Thomas Gleixner (3):
      x86/process: Check PF_KTHREAD and not current->mm for kernel threads
      x86/pkru: Write hardware init value to PKRU when xstate is init
      x86/fpu: Reset state for all signal restore failures

Toke Høiland-Jørgensen (1):
      icmp: don't send out ICMP messages with a source address of 0.0.0.0

Tony Lindgren (3):
      clocksource/drivers/timer-ti-dm: Add clockevent and clocksource support
      clocksource/drivers/timer-ti-dm: Prepare to handle dra7 timer wrap issue
      clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940

Vineet Gupta (1):
      ARCv2: save ABI registers across signal handling

Yang Yingliang (1):
      dmaengine: stedma40: add missing iounmap() on error in d40_probe()

Yifan Zhang (2):
      drm/amdgpu/gfx10: enlarge CP_MEC_DOORBELL_RANGE_UPPER to cover full doorbell.
      drm/amdgpu/gfx9: fix the doorbell missing when in CGPG issue.

afzal mohammed (1):
      ARM: OMAP: replace setup_irq() by request_irq()

yangerkun (1):
      mm/memory-failure: make sure wait for page writeback in memory_failure

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

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