tree b6036dc528326de3e8de52801e495c2e53e1f4ad
parent 62dd4574f6eabc031d29a296bae952c250ee0f2a
parent 90ffbb727c511c6de9c5905c8d5aba69e413bcba
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1672564517 -0800
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1672564517 -0800

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

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

Aakarsh Jain (1):
      media: s5p-mfc: Add variant data for MFC v7 hardware for Exynos 3250 SoC

Abdun Nihaal (1):
      fs/ntfs3: Fix slab-out-of-bounds read in ntfs_trim_fs

Abhinav Kumar (1):
      drm/bridge: adv7533: remove dynamic lane switching from adv7533 bridge

Adrián Herrera Arcila (1):
      perf stat: Refactor __run_perf_stat() common code

Ajay Kaher (1):
      perf symbol: correction while adjusting symbol

Akinobu Mita (3):
      libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value
      lib/notifier-error-inject: fix error when writing -errno to debugfs file
      debugfs: fix error when writing negative value to atomic_t debugfs file

Al Cooper (1):
      phy: usb: s2 WoL wakeup_count not incremented for USB->Eth devices

Al Viro (2):
      alpha: fix TIF_NOTIFY_SIGNAL handling
      alpha: fix syscall entry in !AUDUT_SYSCALL case

Alan Maguire (1):
      libbpf: Btf dedup identical struct test needs check for nested structs/arrays

Alexander Stein (1):
      rtc: pcf85063: Fix reading alarm

Alexander Sverdlin (1):
      spi: spidev: mask SPI_CS_HIGH in SPI_IOC_RD_MODE

Alexandre Belloni (2):
      rtc: cmos: fix build on non-ACPI platforms
      rtc: pcf85063: fix pcf85063_clkout_control

Alexandru Elisei (1):
      arm64: Treat ESR_ELx as a 64-bit register

Alexey Dobriyan (1):
      proc: fixup uptime selftest

Alexey Izbyshev (1):
      futex: Resend potentially swallowed owner death notification

Allen-KH Cheng (1):
      mtd: spi-nor: Fix the number of bytes for the dummy cycles

Amadeusz Sławiński (1):
      ASoC: codecs: rt298: Add quirk for KBL-R RVP platform

Amir Goldstein (3):
      ovl: store lower path in ovl_inode
      ovl: remove privs in ovl_copyfile()
      ovl: remove privs in ovl_fallocate()

Anastasia Belova (1):
      MIPS: BCM63xx: Add check for NULL for clk in clk_enable

Andrew Jeffery (1):
      ipmi: kcs: Poll OBF briefly to reduce OBE latency

Andrii Nakryiko (3):
      bpf: propagate precision in ALU/ALU64 operations
      bpf: propagate precision across all frames, not just the last one
      libbpf: Avoid enum forward-declarations in public API in C++ mode

Andy Shevchenko (2):
      gpiolib: Get rid of redundant 'else'
      fbdev: ssd1307fb: Drop optional dependency

AngeloGioacchino Del Regno (8):
      arm64: dts: mt6779: Fix devicetree build warnings
      arm64: dts: mt2712e: Fix unit_address_vs_reg warning for oscillators
      arm64: dts: mt2712e: Fix unit address for pinctrl node
      arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names
      arm64: dts: mt2712-evb: Fix usb vbus regulators unit names
      arm64: dts: mediatek: pumpkin-common: Fix devicetree warnings
      arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name
      ASoC: mediatek: mt8173: Fix debugfs registration for components

Anssi Hannula (4):
      can: kvaser_usb_leaf: Set Warning state even without bus errors
      can: kvaser_usb_leaf: Fix improved state not being reported
      can: kvaser_usb_leaf: Fix wrong CAN state after stopping
      can: kvaser_usb_leaf: Fix bogus restart events

Arnd Bergmann (1):
      RDMA/siw: Fix pointer cast warning

Artem Chernyshev (1):
      net: vmw_vsock: vmci: Check memcpy_from_msg()

Arun Easi (1):
      scsi: qla2xxx: Fix crash when I/O abort times out

Aurabindo Pillai (1):
      drm/amd/display: fix array index out of bound error in bios parser

Baisong Zhong (3):
      ALSA: pcm: fix undefined behavior in bit shift for SNDRV_PCM_RATE_KNOT
      ALSA: seq: fix undefined behavior in bit shift for SNDRV_SEQ_FILTER_USE_EVENT
      media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()

Barnabás Pőcze (2):
      platform/x86: huawei-wmi: fix return value calculation
      timerqueue: Use rb_entry_safe() in timerqueue_getnext()

Bart Van Assche (3):
      scsi: core: Fix a race between scsi_done() and scsi_timeout()
      scsi: qla2xxx: Fix set-but-not-used variable warnings
      scsi: ufs: Reduce the START STOP UNIT timeout

Bartosz Golaszewski (3):
      gpiolib: cdev: fix NULL-pointer dereferences
      gpiolib: make struct comments into real kernel docs
      gpiolib: protect the GPIO device against being dropped while in use by user-space

Bartosz Staszewski (1):
      i40e: Fix the inability to attach XDP program on downed interface

Ben Greear (1):
      wifi: iwlwifi: mvm: fix double free on tx path.

Bernard Metzler (2):
      RDMA/siw: Fix immediate work request flush to completion queue
      RDMA/siw: Set defined status for work completion with undefined status

Bitterblue Smith (3):
      wifi: rtl8xxxu: Fix reading the vendor of combo chips
      wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h
      wifi: rtl8xxxu: Fix the channel width reporting

Bjorn Andersson (1):
      thermal/drivers/qcom/lmh: Fix irq handler return value

Bjorn Helgaas (1):
      PCI: mt7621: Rename mt7621_pci_ to mt7621_pcie_

Björn Töpel (1):
      bpf: Do not zero-extend kfunc return values

Brian Starkey (1):
      drm/fourcc: Fix vsub/hsub for Q410 and Q401

Cai Xinchen (1):
      rapidio: devices: fix missing put_device in mport_cdev_open

Cezary Rojewski (1):
      ASoC: Intel: Skylake: Fix driver hang during shutdown

Chao Yu (2):
      f2fs: fix to invalidate dcc->f2fs_issue_discard in error path
      f2fs: fix to destroy sbi->post_read_wq in error path of f2fs_fill_super()

Chen Hui (1):
      cpufreq: qcom-hw: Fix memory leak in qcom_cpufreq_hw_read_lut()

Chen Jiahao (1):
      drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static

Chen Zhongjin (11):
      perf: Fix possible memleak in pmu_dev_alloc()
      fs: sysv: Fix sysv_nblocks() returns wrong value
      media: vidtv: Fix use-after-free in vidtv_bridge_dvb_init()
      media: vimc: Fix wrong function called when vimc_init() fails
      media: dvb-core: Fix ignored return value in dvb_register_frontend()
      wifi: cfg80211: Fix not unregister reg_pdev when load_builtin_regdb_keys() fails
      configfs: fix possible memory leak in configfs_create_dir()
      scsi: efct: Fix possible memleak in efct_device_init()
      scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails
      vme: Fix error not catched in fake_init()
      ovl: fix use inode directly in rcu-walk mode

Chen-Yu Tsai (1):
      arm64: dts: mt8183: Fix Mali GPU clock

Chengchang Tang (4):
      RDMA/hns: Fix AH attr queried by query_qp
      RDMA/hns: Fix PBL page MTR find
      RDMA/hns: Fix page size cap from firmware
      RDMA/hns: Fix error code of CMD

Christian Brauner (1):
      ovl: use ovl_copy_{real,upper}attr() wrappers

Christian Marangi (1):
      clk: qcom: clk-krait: fix wrong div2 functions

Christoph Hellwig (3):
      nvmet: only allocate a single slab for bvecs
      block: clear ->slave_dir when dropping the main slave_dir reference
      media: videobuf-dma-contig: use dma_mmap_coherent

Christophe JAILLET (6):
      crypto: amlogic - Remove kcalloc without check
      fbdev: uvesafb: Fixes an error handling path in uvesafb_probe()
      powerpc/52xx: Fix a resource leak in an error handling path
      mfd: qcom_rpm: Fix an error handling path in qcom_rpm_probe()
      myri10ge: Fix an error handling path in myri10ge_probe()
      mfd: qcom_rpm: Use devm_of_platform_populate() to simplify code

Chuck Lever (1):
      NFSD: Finish converting the NFSv2 GETACL result encoder

Chun-Jie Chen (1):
      soc: mediatek: pm-domains: Fix the power glitch issue

Chunfeng Yun (1):
      usb: xhci-mtk: fix leakage of shared hcd when fail to set wakeup irq

Cong Wang (1):
      net_sched: reject TCF_EM_SIMPLE case for complex ematch module

Conor Dooley (1):
      mailbox: mpfs: read the system controller's status

Corentin Labbe (8):
      crypto: sun8i-ss - use dma_addr instead u32
      crypto: rockchip - do not do custom power management
      crypto: rockchip - do not store mode globally
      crypto: rockchip - add fallback for cipher
      crypto: rockchip - add fallback for ahash
      crypto: rockchip - better handle cipher key
      crypto: rockchip - remove non-aligned handling
      crypto: rockchip - rework by using crypto_engine

Cosmin Tanislav (1):
      iio: temperature: ltc2983: make bulk write buffer DMA-safe

Dan Aloni (1):
      nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure

Dan Carpenter (4):
      amdgpu/pm: prevent array underflow in vega20_odn_edit_dpm_table()
      bonding: uninitialized variable in bond_miimon_inspect()
      staging: rtl8192u: Fix use after free in ieee80211_rx()
      fs/ntfs3: Harden against integer overflows

Daniel Golle (1):
      pwm: mediatek: always use bus clock for PWM on MT7622

Daniel Jordan (2):
      padata: Always leave BHs disabled when running ->parallel()
      padata: Fix list iterator in padata_do_serial()

Dario Binacchi (4):
      clk: imx8mn: rename vpu_pll to m7_alt_pll
      clk: imx: replace osc_hdmi with dummy
      clk: imx8mn: fix imx8mn_sai2_sels clocks list
      clk: imx8mn: fix imx8mn_enet_phy_sels clocks list

Dave Stevenson (1):
      drm/fourcc: Add packed 10bit YUV 4:2:0 format

David Howells (4):
      net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write()
      rxrpc: Fix ack.bufferSize to be 0 when generating an ack
      rxrpc: Fix missing unlock in rxrpc_do_sendmsg()
      afs: Fix lost servers_outstanding count

David Michael (1):
      libbpf: Fix uninitialized warning in btf_dump_dump_type_data

Deren Wu (1):
      wifi: mt76: fix coverity overrun-call in mt76_get_txpower()

Dietmar Eggemann (1):
      sched/core: Introduce sched_asym_cpucap_active()

Dmitry Baryshkov (4):
      arm64: dts: qcom: msm8996: fix supported-hw in cpufreq OPP tables
      arm64: dts: qcom: msm8996: fix GPU OPP table
      drm/msm/hdmi: drop unused GPIO support
      drm/msm/hdmi: use devres helper for runtime PM management

Dmitry Torokhov (1):
      ASoC: dt-bindings: wcd9335: fix reset line polarity in example

Dongdong Zhang (1):
      f2fs: fix normal discard process

Dongliang Mu (1):
      fs: jfs: fix shift-out-of-bounds in dbAllocAG

Doug Brown (2):
      ARM: mmp: fix timer_read delay
      drm/etnaviv: add missing quirks for GC300

Douglas Anderson (2):
      Input: elants_i2c - properly handle the reset GPIO when power is off
      clk: qcom: lpass-sc7180: Fix pm_runtime usage

Dr. David Alan Gilbert (1):
      jfs: Fix fortify moan in symlink

Dragos Tatulea (1):
      IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces

Edward Pacman (1):
      ALSA: hda/realtek: Add quirk for Lenovo TianYi510Pro-14IOB

Eelco Chaudron (1):
      openvswitch: Fix flow lookup to use unmasked key

Emeel Hakim (1):
      net: macsec: fix net device access prior to holding a lock

Enrik Berkhan (1):
      HID: mcp2221: don't connect hidraw

Eric Dumazet (5):
      inet: add READ_ONCE(sk->sk_bound_dev_if) in inet_csk_bind_conflict()
      bpf, sockmap: fix race in sock_map_free()
      net: stream: purge sk_error_queue in sk_stream_kill_queues()
      net: add atomic_long_t to net_device_stats fields
      ipv6/sit: use DEV_STATS_INC() to avoid data-races

Eric Pilmore (1):
      ntb_netdev: Use dev_kfree_skb_any() in interrupt context

Fabrice Gasnier (1):
      counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update

Fedor Pchelkin (3):
      wifi: ath9k: hif_usb: fix memory leak of urbs in ath9k_hif_usb_dealloc_tx_urbs()
      wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb()
      wifi: ath9k: verify the expected usb_endpoints are present

Fenghua Yu (1):
      dmaengine: idxd: Fix crc_val field for completion record

Ferry Toth (1):
      usb: dwc3: core: defer probe on ulpi_read_id timeout

Filipe Manana (1):
      btrfs: do not BUG_ON() on ENOMEM when dropping extent items for a range

Firo Yang (1):
      sctp: sysctl: make extra pointers netns aware

Florian Westphal (1):
      netfilter: conntrack: set icmpv6 redirects as RELATED

GUO Zihua (4):
      ima: Handle -ESTALE returned by ima_filter_rule_match()
      integrity: Fix memory leakage in keyring allocation error path
      rtc: mxc_v2: Add missing clk_disable_unprepare()
      ima: Simplify ima_lsm_copy_rule

Gabriel Somlo (1):
      serial: altera_uart: fix locking in polling mode

Gaosheng Cui (13):
      lib/fonts: fix undefined behavior in bit shift for get_default_font
      ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt
      net: stmmac: fix possible memory leak in stmmac_dvr_probe()
      apparmor: fix a memleak in multi_transaction_new()
      crypto: ccree - Remove debugfs when platform_driver_register failed
      scsi: snic: Fix possible UAF in snic_tgt_create()
      crypto: img-hash - Fix variable dereferenced before check 'hdev->req'
      staging: vme_user: Fix possible UAF in tsi148_dma_list_add
      fbdev: ep93xx-fb: Add missing clk_disable_unprepare in ep93xxfb_probe()
      remoteproc: sysmon: fix memory leak in qcom_add_sysmon_subdev()
      rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe()
      rtc: pic32: Move devm_rtc_allocate_device earlier in pic32_rtc_probe()
      net: stmmac: fix errno when create_singlethread_workqueue() fails

Gaurav Kohli (1):
      x86/hyperv: Remove unregister syscore call from Hyper-V cleanup

Gautam Menghani (1):
      media: imon: fix a race condition in send_packet()

Gavrilov Ilia (1):
      relay: fix type mismatch when allocating memory in relay_create_buf()

Greg Kroah-Hartman (1):
      Linux 5.15.86

Guchun Chen (1):
      drm/amd/pm/smu11: BACO is supported when it's in BACO state

Guilherme G. Piccoli (1):
      video: hyperv_fb: Avoid taking busy spinlock on panic path

Gustavo A. R. Silva (1):
      powerpc/xmon: Fix -Wswitch-unreachable warning in bpt_cmds

Hamza Mahfooz (1):
      Revert "drm/amd/display: Limit max DSC target bpp for specific monitors"

Hangbin Liu (1):
      net/tunnel: wait until all sk_user_data reader finish before releasing the sock

Hanjun Guo (1):
      drm/radeon: Add the missed acpi_put_table() to fix memory leak

Hannes Reinecke (1):
      ata: libata: move ata_{port,link,dev}_dbg to standard pr_XXX() macros

Hans de Goede (1):
      ASoC: rt5670: Remove unbalanced pm_runtime_put()

Haowen Bai (2):
      SUNRPC: Return true/false (not 1/0) from bool functions
      powerpc/eeh: Drop redundant spinlock initialization

Harshit Mogalapalli (4):
      xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource()
      scsi: scsi_debug: Fix a warning in resp_write_scat()
      scsi: scsi_debug: Fix a warning in resp_verify()
      scsi: scsi_debug: Fix a warning in resp_report_zones()

Hawkins Jiawei (1):
      hugetlbfs: fix null-ptr-deref in hugetlbfs_parse_param()

Herbert Xu (1):
      crypto: cryptd - Use request context instead of stack for sub-request

Hoi Pok Wu (1):
      fs: jfs: fix shift-out-of-bounds in dbDiscardAG

Hui Tang (2):
      mtd: lpddr2_nvm: Fix possible null-ptr-deref
      i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe

Inga Stotland (1):
      Bluetooth: MGMT: Fix error report for ADD_EXT_ADV_PARAMS

Isaac J. Manjarres (1):
      loop: Fix the max_loop commandline argument treatment when it is set to 0

Ivaylo Dimitrov (1):
      usb: musb: remove extra check in musb_gadget_vbus_draw

Jakub Kicinski (1):
      selftests: devlink: fix the fd redirect in dummy_reporter_test

James Hurley (1):
      platform/mellanox: mlxbf-pmc: Fix event typo

Jason Gerecke (1):
      HID: wacom: Ensure bootloader PID is usable in hidraw mode

Jason Gunthorpe (1):
      iommu/sun50i: Remove IOMMU_DOMAIN_IDENTITY

Jayesh Choudhary (2):
      arm64: dts: ti: k3-am65-main: Drop dma-coherent in crypto node
      arm64: dts: ti: k3-j721e-main: Drop dma-coherent in crypto node

Jeff Layton (1):
      nfsd: don't call nfsd_file_put from client states seqfile display

Jernej Skrabec (4):
      iommu/sun50i: Fix reset release
      iommu/sun50i: Consider all fault sources for reset
      iommu/sun50i: Fix R/W permission check
      iommu/sun50i: Fix flush size

Jerry Ray (1):
      net: lan9303: Fix read error execution path

Jiamei Xie (1):
      serial: amba-pl011: avoid SBSA UART accessing DMACR register

Jiang Li (1):
      md/raid1: stop mdx_raid1 thread when raid1 array run failed

Jiao Zhou (1):
      ALSA: hda/hdmi: Add HP Device 0x8711 to force connect list

Jiasheng Jiang (8):
      soc: qcom: apr: Add check for idr_alloc and of_property_read_string_index
      media: coda: jpeg: Add check for kmalloc
      ASoC: mediatek: mtk-btcvsd: Add checks for write and read of mtk_btcvsd_snd
      memstick/ms_block: Add check for alloc_ordered_workqueue
      media: coda: Add check for dcoda_iram_alloc
      media: coda: Add check for kmalloc
      usb: storage: Add check for kcalloc
      HID: amd_sfh: Add missing check for dma_alloc_coherent

Jimmy Assarsson (6):
      can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device
      can: kvaser_usb: kvaser_usb_leaf: Rename {leaf,usbcan}_cmd_error_event to {leaf,usbcan}_cmd_can_error_event
      can: kvaser_usb: kvaser_usb_leaf: Handle CMD_ERROR_EVENT
      can: kvaser_usb: make use of units.h in assignment of frequency
      can: kvaser_usb: Add struct kvaser_usb_busparams
      can: kvaser_usb: Compare requested bittiming parameters with actual parameters in do_set_{,data}_bittiming

Jiri Slaby (2):
      tty: serial: clean up stop-tx part in altera_uart_tx_chars()
      tty: serial: altera_uart_{r,t}x_chars() need only uart_port

Jiri Slaby (SUSE) (1):
      qed (gcc13): use u16 for fid to be big enough

Joel Granados (1):
      nvme: return err on nvme_init_non_mdts_limits fail

Johan Hovold (6):
      arm64: dts: qcom: sm8150: fix UFS PHY registers
      arm64: dts: qcom: sm8250: fix UFS PHY registers
      arm64: dts: qcom: sm8350: fix UFS PHY registers
      arm64: dts: qcom: sm8250: drop bogus DP PHY clock
      arm64: dts: qcom: sm8250: fix USB-DP PHY registers
      regulator: core: fix deadlock on regulator enable

John Johansen (2):
      apparmor: fix lockdep warning when removing a namespace
      apparmor: Fix abi check to include v8 abi

John Keeping (2):
      usb: gadget: f_hid: fix f_hidg lifetime vs cdev
      usb: gadget: f_hid: fix refcount leak on error path

John Stultz (2):
      pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion
      pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES

John Thomson (4):
      mips: ralink: mt7621: define MT7621_SYSC_BASE with __iomem
      mips: ralink: mt7621: soc queries and tests as functions
      mips: ralink: mt7621: do not use kzalloc too early
      PCI: mt7621: Add sentinel to quirks table

Jon Hunter (1):
      pwm: tegra: Improve required rate calculation

Jonathan Cameron (1):
      iio:imu:adis: Move exports into IIO_ADISLIB namespace

Jonathan Neuschäfer (2):
      ARM: dts: nuvoton: Remove bogus unit addresses from fixed-partition nodes
      spi: Update reference to struct spi_controller

Jonathan Toppins (1):
      bonding: fix link recovery in mode 2 when updelay is nonzero

Justin Tee (1):
      scsi: lpfc: Fix hard lockup when reading the rx_monitor from debugfs

Kajol Jain (1):
      powerpc/hv-gpci: Fix hv_gpci event list

Karolina Drobnik (1):
      tools/include: Add _RET_IP_ and math definitions to kernel.h

Kartik (1):
      serial: tegra: Read DMA status before terminating

Kees Cook (3):
      overflow: Implement size_t saturating arithmetic helpers
      igb: Do not free q_vector unless new one was allocated
      LoadPin: Ignore the "contents" argument of the LSM hooks

Khaled Almahallawy (1):
      drm/i915/display: Don't disable DDI/Transcoder when setting phy test pattern

Khazhismel Kumykov (1):
      bfq: fix waker_bfqq inconsistency crash

Kirill Tkhai (1):
      unix: Fix race in SOCK_SEQPACKET's unix_dgram_sendmsg()

Konrad Dybcio (1):
      regulator: qcom-rpmh: Fix PMR735a S3 regulator spec

Konstantin Meskhidze (1):
      drm/amdkfd: Fix memory leakage

Kory Maincent (1):
      arm: dts: spear600: Fix clcd interrupt

Kris Bahnsen (1):
      spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode

Krzysztof Kozlowski (6):
      arm64: dts: qcom: ipq6018-cp01-c1: use BLSPI1 pins
      arm64: dts: qcom: sm8250-sony-xperia-edo: fix touchscreen bias-disable
      arm64: dts: qcom: sdm630: fix UART1 pin bias
      arm64: dts: qcom: sdm845-cheza: fix AP suspend pin bias
      arm64: dts: qcom: sm8250: correct LPASS pin pull down
      arm64: dts: qcom: sm6125: fix SDHCI CQE reg names

Kumar Kartikeya Dwivedi (2):
      bpf: Fix slot type check in check_stack_write_var_off
      selftests/bpf: Add test for unstable CT lookup API

Kunihiko Hayashi (2):
      PCI: pci-epf-test: Register notifier if only core_init_notifier is enabled
      mmc: f-sdh30: Add quirks for broken timeout clock capability

Kuniyuki Iwashima (2):
      seccomp: Move copy_seccomp() to no failure path.
      soreuseport: Fix socket selection for SO_INCOMING_CPU.

Kurt Kanzenbach (1):
      igc: Lift TAPRIO schedule restriction

Ladislav Michl (1):
      MIPS: OCTEON: warn only once if deprecated link status is being used

Laurent Pinchart (1):
      media: v4l2-ctrls: Fix off-by-one error in integer menu control check

Lee Jones (1):
      mfd: pm8008: Remove driver data structure pm8008_data

Leo Yan (3):
      perf trace: Return error if a system call doesn't exist
      perf trace: Use macro RAW_SYSCALL_ARGS_NUM to replace number
      perf trace: Handle failure when trace point folder is missed

Leon Romanovsky (1):
      RDMA/core: Fix order of nldev_exit call

Leonid Ravich (1):
      IB/mad: Don't call to function that might sleep while in atomic context

Li Zetao (3):
      ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage()
      net: farsync: Fix kmemleak when rmmods farsync
      r6040: Fix kmemleak in probe and remove

Li Zhong (1):
      drivers/md/md-bitmap: check the return value of md_bitmap_get_counter()

Liang He (1):
      media: c8sectpfe: Add of_node_put() when breaking out of loop

Lin Ma (3):
      media: dvbdev: adopts refcnt to avoid UAF
      media: dvbdev: fix build warning due to comments
      media: dvbdev: fix refcnt bug

Linus Walleij (1):
      usb: fotg210-udc: Fix ages old endianness issues

Liu Shixin (4):
      media: vivid: fix compose size exceed boundary
      ALSA: asihpi: fix missing pci_disable_device()
      media: saa7164: fix missing pci_disable_device()
      binfmt_misc: fix shift-out-of-bounds in check_special_flags

Lorenzo Bianconi (2):
      wifi: mt76: mt7921: fix reporting of TX AGGR histogram
      wifi: mt76: do not run mt76u_status_worker if the device is not running

Luca Weiss (5):
      ARM: dts: qcom: apq8064: fix coresight compatible
      soc: qcom: llcc: make irq truly optional
      thermal/drivers/qcom/temp-alarm: Fix inaccurate warning for gen2
      remoteproc: qcom_q6v5_pas: disable wakeup on probe fail or remove
      remoteproc: qcom_q6v5_pas: detach power domains on remove

Luis Chamberlain (1):
      memstick: ms_block: Add error handling support for add_disk()

Luoyouming (2):
      RDMA/hns: Repacing 'dseg_len' by macros in fill_ext_sge_inl_data()
      RDMA/hns: Fix ext_sge num error when post send

Manivannan Sadhasivam (1):
      clk: qcom: gcc-sm8250: Use retention mode for USB GDSCs

Marco Elver (1):
      objtool, kcsan: Add volatile read/write instrumentation to whitelist

Marcus Folkesson (2):
      HID: hid-sensor-custom: set fixed size for custom attributes
      thermal/drivers/imx8mm_thermal: Validate temperature range

Marek Szyprowski (2):
      media: exynos4-is: don't rely on the v4l2_async_subdev internals
      ASoC: wm8994: Fix potential deadlock

Marek Vasut (8):
      ARM: dts: stm32: Drop stm32mp15xc.dtsi from Avenger96
      ARM: dts: stm32: Fix AV96 WLAN regulator gpio property
      clk: renesas: r9a06g032: Repair grave increment error
      drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure
      wifi: rsi: Fix handling of 802.3 EAPOL frames sent via control port
      extcon: usbc-tusb320: Factor out extcon into dedicated functions
      extcon: usbc-tusb320: Add USB TYPE-C support
      extcon: usbc-tusb320: Update state on probe even if no IRQ pending

Marijn Suijten (1):
      arm64: dts: qcom: pm660: Use unique ADC5_VCOIN address in node name

Mark Rutland (2):
      arm64: mm: kfence: only handle translation faults
      arm64: make is_ttbrX_addr() noinstr-safe

Mark Zhang (4):
      RDMA/restrack: Release MR restrack when delete
      RDMA/core: Make sure "ib_port" is valid when access sysfs node
      RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port
      RDMA/nldev: Fix failure to send large messages

Markus Schneider-Pargmann (2):
      can: tcan4x5x: Remove invalid write in clear_interrupts
      can: tcan4x5x: Fix use of register error status mask

Martin Blumenstingl (2):
      hwmon: (jc42) Convert register access and caching to regmap/regcache
      hwmon: (jc42) Restore the min/max/critical temperatures on resume

Martin KaFai Lau (1):
      bpf: Check the other end of slot_type for STACK_SPILL

Martin Leung (1):
      drm/amd/display: Manually adjust strobe for DCN303

Mathias Nyman (1):
      xhci: Prevent infinite loop in transaction errors recovery for streams

Matt Redfearn (1):
      include/uapi/linux/swab: Fix potentially missing __always_inline

Matti Vaittinen (1):
      mfd: bd957x: Fix Kconfig dependency on REGMAP_IRQ

Maxim Korotkov (1):
      ethtool: avoiding integer overflow in ethtool_phys_id()

Mazin Al Haddad (1):
      media: dvb-usb: fix memory leak in dvb_usb_adapter_init()

Miaoqian Lin (2):
      cxl: Fix refcount leak in cxl_calc_capp_routing
      selftests/powerpc: Fix resource leaks

Michael Kelley (1):
      tpm/tpm_crb: Fix error message in __crb_relinquish_locality()

Michael Riesch (1):
      iommu/rockchip: fix permission bits in page table entries v2

Michael Walle (1):
      mtd: spi-nor: hide jedec_id sysfs attribute if not present

Ming Qian (1):
      media: imx-jpeg: Disable useless interrupt to avoid kernel panic

Minghao Chi (1):
      soc: ti: knav_qmss_queue: Use pm_runtime_resume_and_get instead of pm_runtime_get_sync

Minsuk Kang (2):
      nfc: pn533: Clear nfc_target before being used
      wifi: brcmfmac: Fix potential shift-out-of-bounds in brcmf_fw_alloc_request()

Muhammad Husaini Zulkifli (1):
      igc: Add checking for basetime less than zero

Namhyung Kim (1):
      perf stat: Do not delay the workload with --delay

Natalia Petrova (1):
      crypto: nitrox - avoid double free on error path in nitrox_sriov_init()

Nathan Chancellor (12):
      net: ethernet: ti: Fix return type of netcp_ndo_start_xmit()
      hamradio: baycom_epp: Fix return type of baycom_send_packet()
      drm/amdgpu: Fix type of second parameter in trans_msg() callback
      drm/amdgpu: Fix type of second parameter in odn_edit_dpm_table() callback
      s390/ctcm: Fix return type of ctc{mp,}m_tx()
      s390/netiucv: Fix return type of netiucv_tx()
      s390/lcs: Fix return type of lcs_start_xmit()
      drm/mediatek: Fix return type of mtk_hdmi_bridge_mode_valid()
      scsi: elx: libefc: Fix second parameter type in state callbacks
      drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid()
      drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()
      security: Restrict CONFIG_ZERO_CALL_USED_REGS to gcc or clang > 15.0.6

Nathan Lynch (1):
      powerpc/pseries/eeh: use correct API for error log size

Nicholas Piggin (1):
      powerpc/perf: callchain validate kernel stack pointer bounds

Niklas Cassel (1):
      ata: libata: fix NCQ autosense logic

Niklas Söderlund (1):
      media: adv748x: afe: Select input port when initializing AFE

Nirmal Patel (1):
      PCI: vmd: Disable MSI remapping after suspend

Nuno Sá (3):
      iio: adis: handle devices that cannot unmask the drdy pin
      iio: adis: stylistic changes
      iio: adc: ad_sigma_delta: do not use internal iio_dev lock

Oleg Nesterov (1):
      uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix

Ondrej Mosnacek (1):
      fs: don't audit the capability check in simple_xattr_list()

Pali Rohár (9):
      ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
      ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
      ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
      ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
      ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
      ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port
      ARM: dts: turris-omnia: Add ethernet aliases
      ARM: dts: turris-omnia: Add switch port 6 node
      arm64: dts: armada-3720-turris-mox: Add missing interrupt for RTC

Palmer Dabbelt (1):
      RISC-V: Align the shadow stack

Pawel Laszczak (1):
      usb: cdnsp: fix lack of ZLP for ep0

Pengcheng Yang (3):
      bpf, sockmap: Fix repeated calls to sock_put() when msg has more_data
      bpf, sockmap: Fix missing BPF_F_INGRESS flag when using apply_bytes
      bpf, sockmap: Fix data loss caused by using apply_bytes on ingress redirect

Peter Zijlstra (1):
      futex: Move to kernel/futex/

Phil Auld (1):
      cpu/hotplug: Make target_store() a nop when target == state

Piergiorgio Beruto (1):
      stmmac: fix potential division by 0

Pierre-Louis Bossart (2):
      ALSA/ASoC: hda: move/rename snd_hdac_ext_stop_streams to hdac_stream.c
      ALSA: hda: add snd_hdac_stop_streams() helper

Prashant Malani (1):
      platform/chrome: cros_ec_typec: Cleanup switch handle return paths

Pu Lehui (1):
      riscv, bpf: Emit fixed-length instructions for BPF_PSEUDO_FUNC

Qais Yousef (4):
      sched/uclamp: Fix relationship between uclamp and migration margin
      sched/uclamp: Make task_fits_capacity() use util_fits_cpu()
      sched/uclamp: Make select_idle_capacity() use util_fits_cpu()
      sched/uclamp: Make asym_fits_capacity() use util_fits_cpu()

Qingfang DENG (1):
      netfilter: flowtable: really fix NAT IPv6 offload

Rafael J. Wysocki (10):
      PM: runtime: Do not call __rpm_callback() from rpm_idle()
      rtc: rtc-cmos: Do not check ACPI_FADT_LOW_POWER_S0
      rtc: cmos: Fix event handler registration ordering issue
      rtc: cmos: Fix wake alarm breakage
      rtc: cmos: Call cmos_wake_setup() from cmos_do_probe()
      rtc: cmos: Call rtc_wake_setup() from cmos_do_probe()
      rtc: cmos: Eliminate forward declarations of some functions
      rtc: cmos: Rename ACPI-related functions
      rtc: cmos: Disable ACPI RTC event on removal
      ACPICA: Fix error code path in acpi_ds_call_control_method()

Rafael Mendonca (4):
      drm/amdgpu/powerplay/psm: Fix memory leak in power state init
      vfio: platform: Do not pass return buffer to ACPI _RST method
      uio: uio_dmem_genirq: Fix missing unlock in irq configuration
      uio: uio_dmem_genirq: Fix deadlock between irq config and handling

Ramona Bolboaca (1):
      iio: adis: add '__adis_enable_irq()' implementation

Randy Dunlap (4):
      Input: joystick - fix Kconfig warning for JOYSTICK_ADC
      Input: wistron_btns - disable on UML
      fbdev: geode: don't build on UML
      fbdev: uvesafb: don't build on UML

Rasmus Villemoes (1):
      iio: adc128s052: add proper .data members in adc128_of_match table

Reinette Chatre (1):
      x86/sgx: Reduce delay and interference of enclave release

Ricardo Ribalda (2):
      media: i2c: ad5820: Fix error path
      ASoC: mediatek: mt8173: Enable IRQ when pdata is ready

Rickard x Andersson (1):
      gcov: add support for checksum field

Rob Clark (1):
      drm/msm/a6xx: Fix speed-bin detection vs probe-defer

Roberto Sassu (1):
      reiserfs: Add missing calls to reiserfs_security_free()

Rui Zhang (1):
      regulator: core: fix use_count leakage when handling boot-on

Ryusuke Konishi (2):
      nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset()
      nilfs2: fix shift-out-of-bounds due to too large exponent of block size

Samuel Holland (1):
      usb: typec: Factor out non-PD fwnode properties

Schspa Shi (2):
      mrp: introduce active flags to prevent UAF when applicant uninit
      9p: set req refcount to zero to avoid uninitialized usage

Sebastian Andrzej Siewior (5):
      hsr: Add a rcu-read lock to hsr_forward_skb().
      hsr: Avoid double remove of a node.
      hsr: Disable netpoll.
      hsr: Synchronize sending frames to have always incremented outgoing seq nr.
      hsr: Synchronize sequence number updates.

Serge Semin (2):
      dt-bindings: imx6q-pcie: Fix clock names for imx6sx and imx8mq
      dt-bindings: visconti-pcie: Fix interrupts array max constraints

Sergey Shtylyov (1):
      ata: add/use ata_taskfile::{error|status} fields

Shang XiaoJing (10):
      perf/arm_dmc620: Fix hotplug callback leak in dmc620_pmu_init()
      perf/smmuv3: Fix hotplug callback leak in arm_smmu_pmu_init()
      ocfs2: fix memory leak in ocfs2_stack_glue_init()
      irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe()
      scsi: ipr: Fix WARNING in ipr_init()
      crypto: omap-sham - Use pm_runtime_resume_and_get() in omap_sham_probe()
      samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe()
      fbdev: via: Fix error in via_core_init()
      remoteproc: qcom: q6v5: Fix potential null-ptr-deref in q6v5_wcss_init_mmio()
      remoteproc: qcom: q6v5: Fix missing clk_disable_unprepare() in q6v5_wcss_qcs404_power_on()

Shawn Guo (1):
      arm64: dts: qcom: Correct QMP PHY child node name

Shigeru Yoshida (4):
      fs/ntfs3: Avoid UBSAN error on true_sectors_per_clst()
      udf: Avoid double brelse() in udf_rename()
      wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out
      media: si470x: Fix use-after-free in si470x_int_in_callback()

Shiraz Saleem (1):
      RDMA/irdma: Report the correct link speed

Shung-Hsi Yu (1):
      libbpf: Fix null-pointer dereference in find_prog_by_sec_insn()

Srinivas Kandagatla (1):
      soc: qcom: apr: make code more reuseable

Stanislav Fomichev (4):
      bpf: Move skb->len == 0 checks into __bpf_redirect
      bpf: make sure skb->len != 0 when redirecting to a tunneling device
      ppp: associate skb with a device at tx
      bpf: Prevent decl_tag from being referenced in func_proto arg

Stefan Eichenberger (1):
      rtc: snvs: Allow a time difference on clock register read

Stephan Gerhold (1):
      arm64: dts: qcom: msm8916: Drop MSS fallback compatible

Stephen Boyd (1):
      pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP

Steven Price (1):
      pwm: tegra: Fix 32 bit build

Subash Abhinov Kasiviswanathan (1):
      skbuff: Account for tail adjustment during pull operations

Sven Peter (4):
      usb: typec: Check for ops->exit instead of ops->enter in altmode_exit
      usb: typec: tipd: Cleanup resources if devm_tps6598_psy_register fails
      usb: typec: tipd: Fix spurious fwnode_handle_put in error path
      usb: dwc3: Fix race between dwc3_set_mode and __dwc3_set_mode

Takashi Iwai (1):
      ALSA: pcm: Set missing stop_operating flag at undoing trigger start

Tan Tee Min (3):
      igc: allow BaseTime 0 enrollment for Qbv
      igc: recalculate Qbv end_time by considering cycle time
      igc: Set Qbv start_time and end_time to end_time if not being configured in GCL

Tang Bin (1):
      venus: pm_helpers: Fix error check in vcodec_domains_get()

Tetsuo Handa (1):
      fbdev: fbcon: release buffer when fbcon_do_set_font() failed

Tom Lendacky (2):
      net: amd-xgbe: Fix logic around active and passive cables
      net: amd-xgbe: Check only the minimum speed for active/passive cables

Tong Tiangen (1):
      riscv/mm: add arch hook arch_clear_hugepage_flags

Trond Myklebust (8):
      lockd: set other missing fields when unlocking files
      NFSv4.2: Clear FATTR4_WORD2_SECURITY_LABEL when done decoding
      NFSv4.2: Fix a memory stomp in decode_attr_security_label
      NFSv4.2: Fix initialisation of struct nfs4_label
      NFSv4: Fix a credential leak in _nfs4_discover_trunking()
      NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn
      NFS: Fix an Oops in nfs_d_automount()
      NFSv4.x: Fail client initialisation if state manager thread can't run

Tyler Hicks (1):
      KVM: selftests: Fix build regression by using accessor function

Ulf Hansson (1):
      cpuidle: dt: Return the correct numbers of parsed idle states

Uwe Kleine-König (2):
      crypto: ccree - Make cc_debugfs_global_fini() available for module init function
      pwm: sifive: Call pwm_sifive_update_clock() while mutex is held

Valentin Caron (1):
      serial: stm32: move dma_request_chan() before clk_prepare_enable()

Victor Ding (1):
      platform/chrome: cros_ec_typec: zero out stale pointers

Vidya Sagar (1):
      PCI: dwc: Fix n_fts[] array overrun

Ville Syrjälä (3):
      drm/msm: Use drm_mode_copy()
      drm/rockchip: Use drm_mode_copy()
      drm/sti: Use drm_mode_copy()

Vincent Donnefort (2):
      sched/fair: Cleanup task_util and capacity type
      cpu/hotplug: Do not bail-out in DYING/STARTING sections

Vincent Guittot (1):
      sched/fair: Removed useless update of p->recent_used_cpu

Vincent Mailhol (1):
      can: kvaser_usb: do not increase tx statistics when sending error message frames

Vinicius Costa Gomes (2):
      igc: Enhance Qbv scheduling by using first flag bit
      igc: Use strict cycles for Qbv scheduling

Vivek Yadav (1):
      can: m_can: Call the RAM init directly from m_can_chip_config

Vladimir Oltean (2):
      net: dsa: tag_8021q: avoid leaking ctx on dsa_tag_8021q_register() error path
      net: enetc: avoid buffer leaks on xdp_do_redirect() failure

Vladimir Zapolskiy (1):
      media: camss: Clean up received buffers on failed start of streaming

Wang Jingjin (2):
      ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in rockchip_pdm_runtime_resume()
      ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume()

Wang ShaoBo (5):
      regulator: core: use kfree_const() to free space conditionally
      drbd: remove call to memset before free device/resource/connection
      drbd: destroy workqueue when drbd device was freed
      SUNRPC: Fix missing release socket in rpc_sockname()
      Bluetooth: btintel: Fix missing free skb in btintel_setup_combined()

Wang Weiyang (1):
      rapidio: fix possible UAF when kfifo_alloc() fails

Wang Yufen (7):
      pstore/ram: Fix error return code in ramoops_probe()
      wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware()
      RDMA/hfi1: Fix error return code in parse_platform_config()
      RDMA/srp: Fix error return code in srp_parse_options()
      ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in mt8173_rt5650_rt5514_dev_probe()
      ASoC: audio-graph-card: fix refcount leak of cpu_ep in __graph_for_each_link()
      ASoC: mediatek: mt8183: fix refcount leak in mt8183_mt6358_ts3a227_max98357_dev_probe()

Wei Yongjun (1):
      irqchip/wpcm450: Fix memory leak in wpcm450_aic_of_init()

Weili Qian (1):
      crypto: hisilicon/qm - fix missing destroy qp_idr

Wesley Chalmers (1):
      drm/amd/display: Use the largest vready_offset in pipe group

Wolfram Sang (3):
      clocksource/drivers/sh_cmt: Access registers according to spec
      mmc: renesas_sdhi: alway populate SCC pointer
      mmc: renesas_sdhi: better reset from HS400 mode

Wright Feng (1):
      brcmfmac: return error when getting invalid max_flowrings from dongle

Xie Shaowen (1):
      macintosh/macio-adb: check the return value of ioremap()

Xing Song (1):
      mt76: stop the radar detector after leaving dfs channel

Xinlei Lee (1):
      drm/mediatek: Modify dpi power on/off sequence.

Xiongfeng Wang (13):
      perf/x86/intel/uncore: Fix reference count leak in sad_cfg_iio_topology()
      perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox()
      perf/x86/intel/uncore: Fix reference count leak in snr_uncore_mmio_map()
      perf/x86/intel/uncore: Fix reference count leak in __uncore_imc_init_box()
      cpufreq: amd_freq_sensitivity: Add missing pci_dev_put()
      drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios()
      drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios()
      crypto: hisilicon/qm - add missing pci_dev_put() in q_num_set()
      RDMA/hfi: Decrease PCI device reference count in error path
      hwrng: amd - Fix PCI device refcount leak
      hwrng: geode - Fix PCI device refcount leak
      serial: pch: Fix PCI device refcount leak in pch_request_dma()
      fbdev: vermilion: decrease reference count in error path

Xiu Jianfeng (11):
      x86/xen: Fix memory leak in xen_smp_intr_init{_pv}()
      x86/xen: Fix memory leak in xen_init_lock_cpu()
      ima: Fix misuse of dereference of pointer in template_desc_init_fields()
      wifi: ath10k: Fix return value in ath10k_pci_init()
      clk: rockchip: Fix memory leak in rockchip_clk_register_pll()
      clk: samsung: Fix memory leak in _samsung_clk_register_pll()
      clk: socfpga: Fix memory leak in socfpga_gate_init()
      apparmor: Use pointer to struct aa_label for lbs_cred
      apparmor: Fix memleak in alloc_ns()
      ksmbd: Fix resource leak in ksmbd_session_rpc_open()
      clk: st: Fix memory leak in st_of_quadfs_setup()

Xu Kuohai (1):
      libbpf: Fix use-after-free in btf_dump_name_dups

Yan Lei (1):
      media: dvb-frontends: fix leak of memory fw

Yang Jihong (2):
      blktrace: Fix output non-blktrace event when blk_classic option enabled
      perf debug: Set debug_peo_args and redirect_to_stderr variable to correct values in perf_quiet_option()

Yang Shen (1):
      coresight: trbe: remove cpuhp instance node before remove cpuhp state

Yang Yingliang (77):
      MIPS: vpe-mt: fix possible memory leak while module exiting
      MIPS: vpe-cmp: fix possible memory leak while module exiting
      PNP: fix name memory leak in pnp_alloc_dev()
      thermal: core: fix some possible name leaks in error paths
      EDAC/i10nm: fix refcount leak in pci_get_dev_wrapper()
      genirq/irqdesc: Don't try to remove non-existing sysfs files
      rapidio: fix possible name leaks when rio_add_device() fails
      rapidio: rio: fix possible name leak in rio_register_mport()
      clocksource/drivers/timer-ti-dm: Fix missing clk_disable_unprepare in dmtimer_systimer_init_clock()
      platform/x86: intel_scu_ipc: fix possible name leak in __intel_scu_ipc_register()
      media: platform: exynos4-is: fix return value check in fimc_md_probe()
      regulator: core: fix unbalanced of node refcount in regulator_dev_lookup()
      media: solo6x10: fix possible memory leak in solo_sysfs_init()
      drm/amdgpu: fix pci device refcount leak
      regulator: core: fix module refcount leak in set_supply()
      regulator: core: fix resource leak in regulator_register()
      mmc: alcor: fix return value check of mmc_add_host()
      mmc: moxart: fix return value check of mmc_add_host()
      mmc: mxcmmc: fix return value check of mmc_add_host()
      mmc: pxamci: fix return value check of mmc_add_host()
      mmc: rtsx_pci: fix return value check of mmc_add_host()
      mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host()
      mmc: toshsd: fix return value check of mmc_add_host()
      mmc: vub300: fix return value check of mmc_add_host()
      mmc: wmt-sdmmc: fix return value check of mmc_add_host()
      mmc: atmel-mci: fix return value check of mmc_add_host()
      mmc: omap_hsmmc: fix return value check of mmc_add_host()
      mmc: meson-gx: fix return value check of mmc_add_host()
      mmc: via-sdmmc: fix return value check of mmc_add_host()
      mmc: wbsd: fix return value check of mmc_add_host()
      mmc: mmci: fix return value check of mmc_add_host()
      ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave()
      net: apple: mace: don't call dev_kfree_skb() under spin_lock_irqsave()
      net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave()
      net: emaclite: don't call dev_kfree_skb() under spin_lock_irqsave()
      net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave()
      hamradio: don't call dev_kfree_skb() under spin_lock_irqsave()
      net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave()
      af_unix: call proto_unregister() in the error path in af_unix_init()
      Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave()
      Bluetooth: hci_qca: don't call kfree_skb() under spin_lock_irqsave()
      Bluetooth: hci_ll: don't call kfree_skb() under spin_lock_irqsave()
      Bluetooth: hci_h5: don't call kfree_skb() under spin_lock_irqsave()
      Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave()
      Bluetooth: hci_core: don't call kfree_skb() under spin_lock_irqsave()
      Bluetooth: RFCOMM: don't call kfree_skb() under spin_lock_irqsave()
      scsi: mpt3sas: Fix possible resource leaks in mpt3sas_transport_port_add()
      scsi: hpsa: Fix error handling in hpsa_add_sas_host()
      scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device()
      scsi: fcoe: Fix possible name leak when device_register() fails
      scsi: scsi_debug: Fix possible name leak in sdebug_add_host_helper()
      drivers: dio: fix possible memory leak in dio_init()
      class: fix possible memory leak in __class_register()
      usb: typec: tcpci: fix of node refcount leak in tcpci_register_port()
      misc: ocxl: fix possible name leak in ocxl_file_register_afu()
      ocxl: fix pci device refcount leak when calling get_function_0()
      firmware: raspberrypi: fix possible memory leak in rpi_firmware_probe()
      cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter()
      cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter()
      usb: roles: fix of node refcount leak in usb_role_switch_is_parent()
      mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
      chardev: fix error handling in cdev_device_add()
      i2c: mux: reg: check return value after calling platform_get_resource()
      fbdev: pm2fb: fix missing pci_disable_device()
      HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
      HSI: omap_ssi_core: fix possible memory leak in ssi_probe()
      iommu/amd: Fix pci device refcount leak in ppr_notifier()
      macintosh: fix possible memory leak in macio_add_one_device()
      powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data()
      powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in of_fsl_spi_probe()
      mfd: pm8008: Fix return value check in pm8008_probe()
      mISDN: hfcsusb: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
      mISDN: hfcpci: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
      mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
      mailbox: arm_mhuv2: Fix return value check in mhuv2_probe()
      mailbox: zynq-ipi: fix error handling while device_register() fails
      hwmon: (jc42) Fix missing unlock on error in jc42_write()

Yassine Oudjana (4):
      arm64: dts: qcom: msm8996: Add MSM8996 Pro support
      extcon: usbc-tusb320: Add support for mode setting and reset
      extcon: usbc-tusb320: Add support for TUSB320L
      extcon: usbc-tusb320: Call the Type-C IRQ handler only if a port is registered

Ye Bin (1):
      blk-mq: fix possible memleak when register 'hctx' failed

Yipeng Zou (1):
      selftests/ftrace: event_triggers: wait longer for test_event_enable

Yonggil Song (1):
      f2fs: avoid victim selection from previous victim section

Yongqiang Liu (1):
      net: defxx: Fix missing err handling in dfx_init()

Yu Kuai (1):
      block, bfq: fix possible uaf for 'bfqq->bic'

Yu Liao (1):
      platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]()

Yuan Can (16):
      perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init()
      tpm/tpm_ftpm_tee: Fix error handling in ftpm_mod_init()
      platform/chrome: cros_usbpd_notify: Fix error handling in cros_usbpd_notify_init()
      media: platform: exynos4-is: Fix error handling in fimc_md_init()
      ASoC: qcom: Add checks for devm_kcalloc
      regulator: qcom-labibb: Fix missing of_node_put() in qcom_labibb_regulator_probe()
      drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init()
      scsi: hpsa: Fix possible memory leak in hpsa_init_one()
      RDMA/nldev: Add checks for nla_nest_start() in fill_stat_counter_qps()
      serial: 8250_bcm7271: Fix error handling in brcmuart_init()
      serial: sunsab: Fix error handling in sunsab_init()
      HSI: omap_ssi_core: Fix error handling in ssi_init()
      power: supply: ab8500: Fix error handling in ab8500_charger_init()
      iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe()
      remoteproc: qcom_q6v5_pas: Fix missing of_node_put() in adsp_alloc_memory_region()
      floppy: Fix memory leak in do_floppy_init()

YueHaibing (1):
      staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor()

Zeng Heng (4):
      ASoC: pxa: fix null-pointer dereference in filter()
      PCI: Check for alloc failure in pci_request_irq()
      power: supply: fix residue sysfs file in error handle route of __power_supply_register()
      iio: fix memory leak in iio_device_register_eventset()

Zhang Changzhong (1):
      net: stmmac: selftests: fix potential memleak in stmmac_test_arpoffload()

Zhang Qilong (7):
      soc: ti: knav_qmss_queue: Fix PM disable depth imbalance in knav_queue_probe
      soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe
      eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD
      drm/rockchip: lvds: fix PM usage counter unbalance in poweron
      ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe
      f2fs: Fix the race condition of resize flag between resizefs
      power: supply: z2_battery: Fix possible memleak in z2_batt_probe()

Zhang Xiaoxu (6):
      mtd: Fix device name leak when register device failed in add_mtd_device()
      xprtrdma: Fix regbuf data not freed in rpcrdma_req_create()
      RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create failed
      orangefs: Fix sysfs not cleanup when dev init failed
      orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string()
      orangefs: Fix kmemleak in orangefs_{kernel,client}_debug_init()

Zhang Yiqun (1):
      crypto: tcrypt - Fix multibuffer skcipher speed test mem leak

Zhang Yuchen (1):
      ipmi: fix memleak when unload ipmi driver

Zhang Zekun (1):
      drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe()

ZhangPeng (4):
      hfs: Fix OOB Write in hfs_asc2mac
      pinctrl: k210: call of_node_put()
      pinctrl: pinconf-generic: add missing of_node_put()
      hfs: fix OOB Read in __hfs_brec_find

Zhao Gongyi (1):
      selftests/efivarfs: Add checking of the test return value

Zhen Lei (1):
      mmc: core: Normalize the error handling branch in sd_read_ext_regs()

Zheng Wang (1):
      misc: sgi-gru: fix use-after-free error in gru_set_context_option, gru_fault and gru_handle_user_call_os

Zheng Yejian (2):
      tracing/hist: Fix issue of losting command info in error_log
      acct: fix potential integer overflow in encode_comp_t()

Zheng Yongjun (1):
      mtd: maps: pxa2xx-flash: fix memory leak in probe

Zhengchao Shao (4):
      wifi: mac80211: fix memory leak in ieee80211_if_add()
      RDMA/hns: fix memory leak in hns_roce_alloc_mr()
      test_firmware: fix memory leak in test_firmware_init()
      drivers: mcb: fix resource leak in mcb_probe()

Zheyu Ma (1):
      i2c: ismt: Fix an out-of-bounds bug in ismt_access()

Zhiqi Song (1):
      crypto: hisilicon/hpre - fix resource leak in remove process

Zqiang (1):
      rcu: Fix __this_cpu_read() lockdep warning in rcu_force_quiescent_state()

delisun (1):
      serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle.

gehao (1):
      drm/amd/display: prevent memory leak

ruanjinjie (3):
      of: overlay: fix null pointer dereferencing in find_dup_cset_node_entry() and find_dup_cset_prop()
      misc: tifm: fix possible memory leak in tifm_7xx1_switch_media()
      power: supply: fix null pointer dereferencing in power_supply_get_battery_info

wangdicheng (1):
      ALSA: usb-audio: add the quirk for KT0206 device

wuchi (1):
      lib/debugobjects: fix stat count and optimize debug_objects_mem_init

xinlei lee (1):
      pwm: mtk-disp: Fix the parameters calculated by the enabled flag of disp_pwm

xiongxin (1):
      PM: hibernate: Fix mistake in kerneldoc comment

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

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