tree 54bcadc7310c37081a10cebbd14c1b397c3d2ece
parent 6e7253ab023107963495410caaec814c8cc2fb74
parent 793d8378b74ac283a4dd7cef1b304553c8a42260
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1667555805 -0700
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1667555806 -0700

merge-upstream/v5.15.77 from branch/tag: upstream/v5.15.77 into branch: cos-5.15

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

Aaron Conole (1):
      openvswitch: switch from WARN to pr_warn

Adrian Hunter (1):
      perf auxtrace: Fix address filter symbol name match for modules

Alexander Stein (1):
      media: v4l2: Fix v4l2_i2c_subdev_set_name function documentation

Ankit Nautiyal (1):
      drm/i915/dp: Reset frl trained flag before restarting FRL training

Anssi Hannula (1):
      can: kvaser_usb: Fix possible completions during init_completion

Aya Levin (1):
      net/mlx5e: Extend SKB room check to include PTP-SQ

Benjamin Coddington (1):
      NFSv4: Fix free of uninitialized nfs4_label on referral lookup.

Bernd Edlinger (1):
      exec: Copy oldsighand->action under spin-lock

Biju Das (2):
      can: rcar_canfd: fix channel specific IRQ handling for RZ/G2L
      can: rcar_canfd: rcar_canfd_handle_global_receive(): fix IRQ storm on global FIFO receive

Brian Norris (1):
      mmc: sdhci_am654: 'select', not 'depends' REGMAP_MMIO

Chen Zhongjin (1):
      x86/unwind/orc: Fix unreliable stack dump with gcov

Christian A. Ehrhardt (1):
      kernfs: fix use-after-free in __kernfs_remove

Christian Löhle (1):
      mmc: block: Remove error check of hw_reset on reset

Colin Ian King (1):
      net: broadcom: bcm4908enet: remove redundant variable bytes

Cosmin Tanislav (1):
      iio: temperature: ltc2983: allocate iio channels once

D Scott Phillips (1):
      arm64: Add AMPERE1 to the Spectre-BHB affected list

Dan Carpenter (1):
      media: atomisp: prevent integer overflow in sh_css_set_black_frame()

Dan Vacura (1):
      usb: gadget: uvc: fix sg handling in error case

Dongliang Mu (2):
      can: mscan: mpc5xxx: mpc5xxx_can_probe(): add missing put_clock() in error path
      can: mcp251x: mcp251x_can_probe(): add missing unregister_candev() in error path

Eric Dumazet (6):
      kcm: annotate data-races around kcm->rx_psock
      kcm: annotate data-races around kcm->rx_wait
      tcp: minor optimization in tcp_add_backlog()
      ipv6: ensure sane device mtu in tunnels
      net: do not sense pfmemalloc status in skb_append_pagefrags()
      kcm: do not sense pfmemalloc status in kcm_sendpage()

Florian Fainelli (1):
      net: bcmsysport: Indicate MAC is in charge of PHY PM

Gavin Shan (1):
      KVM: selftests: Fix number of pages for memory slot in memslot_modification_stress_test

Greg Kroah-Hartman (1):
      Linux 5.15.77

Hannu Hartikainen (1):
      USB: add RESET_RESUME quirk for NVIDIA Jetson devices in RCM

Hans Verkuil (5):
      media: vivid: s_fbuf: add more sanity checks
      media: vivid: dev->bitmap_cap wasn't freed in all cases
      media: v4l2-dv-timings: add sanity checks for blanking values
      media: videodev2.h: V4L2_DV_BT_BLANKING_HEIGHT should check 'interlaced'
      media: vivid: set num_in/outputs to 0 if not supported

Heiko Carstens (2):
      s390/futex: add missing EX_TABLE entry to __futex_atomic_op()
      s390/pci: add missing EX_TABLE entries to __pcistg_mio_inuser()/__pcilg_mio_inuser()

Hyong Youb Kim (1):
      net/mlx5e: Do not increment ESN when updating IPsec ESN state

Hyunwoo Kim (1):
      fbdev: smscufx: Fix several use-after-free bugs

Jakub Kicinski (1):
      net-memcg: avoid stalls when under memory pressure

James Clark (1):
      coresight: cti: Fix hang in cti_disable_hw()

James Smart (6):
      Revert "scsi: lpfc: Resolve some cleanup issues following SLI path refactoring"
      Revert "scsi: lpfc: Fix element offset in __lpfc_sli_release_iocbq_s4()"
      Revert "scsi: lpfc: Fix locking for lpfc_sli_iocbq_lookup()"
      Revert "scsi: lpfc: SLI path split: Refactor SCSI paths"
      Revert "scsi: lpfc: SLI path split: Refactor fast and slow paths to native SLI4"
      Revert "scsi: lpfc: SLI path split: Refactor lpfc_iocbq"

Jason A. Donenfeld (2):
      ALSA: au88x0: use explicitly signed char
      ALSA: rme9652: use explicitly signed char

Jeff Vanhoof (1):
      usb: gadget: uvc: fix sg handling during video encode

Jens Glathe (1):
      usb: xhci: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite being a V0.96 controller

Johan Hovold (3):
      drm/msm/dsi: fix memory corruption with too many bridges
      drm/msm/hdmi: fix memory corruption with too many bridges
      drm/msm/dp: fix IRQ lifetime

Juergen Borleis (1):
      net: fec: limit register access on i.MX6UL

Justin Chen (1):
      usb: bdc: change state when port disconnected

Kajol Jain (1):
      perf vendor events power10: Fix hv-24x7 metric events

Kunihiko Hayashi (1):
      net: ethernet: ave: Fix MAC to be in charge of PHY PM

Kuniyuki Iwashima (1):
      tcp/udp: Fix memory leak in ipv6_renew_options().

Li Zetao (1):
      fs/binfmt_elf: Fix memory leak in load_elf_binary()

Lin Shengwang (1):
      sched/core: Fix comparison in sched_group_cookie_match()

Lino Sanfilippo (1):
      serial: core: move RS485 configuration tasks from drivers into core

Lu Wei (1):
      tcp: fix a signed-integer-overflow bug in tcp_add_backlog()

Lukas Wunner (1):
      serial: Deassert Transmit Enable on probe in driver-specific way

Manish Rangankar (1):
      scsi: qla2xxx: Use transport-defined speed mask for supported_speeds

Mario Limonciello (2):
      xhci-pci: Set runtime PM as default policy on all xHC 1.2 or later devices
      PM: hibernate: Allow hybrid sleep to work with s2idle

Mathias Nyman (2):
      xhci: Add quirk to reset host back to default state at shutdown
      xhci: Remove device endpoints from bandwidth list when freeing the device

Matthew Ma (1):
      mmc: core: Fix kernel panic when remove non-standard SDIO card

Matti Vaittinen (2):
      tools: iio: iio_utils: fix digit calculation
      iio: adxl372: Fix unsafe buffer attributes

Maxim Levitsky (1):
      perf/x86/intel/lbr: Use setup_clear_cpu_cap() instead of clear_cpu_cap()

Miquel Raynal (1):
      mac802154: Fix LQI recording

Nathan Huckleberry (1):
      drm/msm: Fix return type of mdp4_lvds_connector_mode_valid

Neal Cardwell (1):
      tcp: fix indefinite deferral of RTO with SACK reneging

Nicolas Dichtel (1):
      nh: fix scope used to find saddr when adding non gw nh

Patrick Thompson (1):
      mmc: sdhci-pci-core: Disable ES for ASUS BIOS on Jasper Lake

Pavel Kozlov (1):
      ARC: mm: fix leakage of memory allocated for PTE

Peter Zijlstra (1):
      perf: Fix missing SIGTRAPs

Prike Liang (1):
      drm/amdgpu: disallow gfxoff until GC IP blocks complete s2idle resume

Rafael J. Wysocki (2):
      cpufreq: intel_pstate: Read all MSRs on the target CPU
      cpufreq: intel_pstate: hybrid: Use known scaling factor for P-cores

Rafael Mendonca (1):
      drm/amdkfd: Fix memory leak in kfd_mem_dmamap_userptr()

Rafał Miłecki (1):
      net: broadcom: bcm4908_enet: update TX stats after actual transmission

Raju Rangoju (2):
      amd-xgbe: fix the SFP compliance codes check for DAC cables
      amd-xgbe: add the bit rate quirk for Molex cables

Randy Dunlap (1):
      arc: iounmap() arg is volatile

Roy Novich (1):
      net/mlx5: Update fw fatal reporter state on PCI handlers successful recover

Saeed Mahameed (1):
      net/mlx5: Print more info on pci error handlers

Sascha Hauer (1):
      mmc: sdhci-esdhc-imx: Propagate ESDHC_FLAG_HS400* only on 8bit bus

Scott Mayhew (1):
      NFSv4: Add an fattr allocation to _nfs4_discover_trunking()

Sergiu Moga (1):
      net: macb: Specify PHY PM management done by MAC

Shang XiaoJing (2):
      nfc: virtual_ncidev: Fix memory leak in virtual_nci_send()
      perf vendor events arm64: Fix incorrect Hisi hip08 L3 metrics

Shreeya Patel (1):
      iio: light: tsl2583: Fix module unloading

Siarhei Volkau (1):
      pinctrl: Ingenic: JZ4755 bug fixes

Slawomir Laba (2):
      i40e: Fix ethtool rx-flow-hash setting for X722
      i40e: Fix flow-type by setting GL_HASH_INSET registers

Srinivasa Rao Mandadapu (2):
      ASoC: qcom: lpass-cpu: mark HDMI TX registers as volatile
      ASoC: qcom: lpass-cpu: Mark HDMI TX parity register as volatile

Steven Rostedt (Google) (1):
      ALSA: Use del_timer_sync() before freeing timer

Sudeep Holla (1):
      PM: domains: Fix handling of unavailable/disabled idle states

Suresh Devarakonda (1):
      net/mlx5: Fix crash during sync firmware reset

Sylwester Dziedziuch (1):
      i40e: Fix VF hang when reset is triggered on another VF

Takashi Iwai (2):
      ALSA: usb-audio: Add quirks for M-Audio Fast Track C400/600
      ALSA: aoa: Fix I2S device accounting

Tariq Toukan (1):
      net/mlx5: Fix possible use-after-free in async command interface

Thinh Nguyen (2):
      usb: dwc3: gadget: Stop processing more requests on IMI
      usb: dwc3: gadget: Don't set IMI for no_interrupt

Tony O'Brien (1):
      mtd: rawnand: marvell: Use correct logic for nand-keep-config

Vladimir Oltean (1):
      net: enetc: survive memory pressure without crashing

Wei Yongjun (1):
      net: ieee802154: fix error return code in dgram_bind()

William Breathitt Gray (1):
      counter: microchip-tcb-capture: Handle Signal1 read and Synapse

Xin Long (2):
      ethtool: eeprom: fix null-deref on genl_info in dump
      tipc: fix a null-ptr-deref in tipc_topsrv_accept

Yang Yingliang (7):
      can: j1939: transport: j1939_session_skb_drop_old(): spin_unlock_irqrestore() before kfree_skb()
      mtd: rawnand: intel: Add missing of_node_put() in ebu_nand_probe()
      ALSA: ac97: fix possible memory leak in snd_ac97_dev_register()
      net: netsec: fix error handling in netsec_register_mdio()
      net: ksz884x: fix missing pci_disable_device() on error in pcidev_init()
      ALSA: aoa: i2sbus: fix possible memory leak in i2sbus_add_dev()
      net: ehea: fix possible memory leak in ehea_register_port()

Yu Kuai (1):
      scsi: sd: Revert "scsi: sd: Remove a local variable"

Zhang Changzhong (1):
      net: lantiq_etop: don't free skb when returning NETDEV_TX_BUSY

Zhengchao Shao (6):
      net: hinic: fix incorrect assignment issue in hinic_set_interrupt_cfg()
      net: hinic: fix memory leak when reading function table
      net: hinic: fix the issue of CMDQ memory leaks
      net: hinic: fix the issue of double release MBOX callback of VF
      net: fix UAF issue in nfqnl_nf_hook_drop() when ops_init() failed
      netdevsim: remove dir in nsim_dev_debugfs_init() when creating ports dir failed

Íñigo Huguet (1):
      atlantic: fix deadlock at aq_nic_stop

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

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