tree 3eb79bf47033cf3261ff987a6d505ff89824adc3
parent cc1eda67cfb3bf51561282b2edd6a0f3a62c8ac1
parent d23900f974e0fb995b36ef47283a5aa74ca25f51
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1695546525 -0700
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1695546526 -0700

merge-upstream/v6.1.55 from branch/tag: upstream/v6.1.55 into branch: cos-6.1

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

Abel Wu (1):
      net-memcg: Fix scope of sockmem pressure indicators

Abhishek Mainkar (1):
      ACPICA: Add AML_NO_OPERAND_RESOLVE flag to Timer

Adrien Thierry (1):
      phy: qcom-snps-femto-v2: use qcom_snps_hsphy_suspend/resume error code

Ahmad Fatoum (2):
      clk: imx: composite-8m: fix clock pauses when set_rate would be a no-op
      clk: imx: pll14xx: dynamically configure PLL for 393216000/361267200Hz

Alan Maguire (1):
      selftests/bpf: fix static assert compilation issue for test_cls_*.c

Alan Stern (6):
      USB: gadget: core: Add missing kerneldoc for vbus_work
      USB: gadget: f_mass_storage: Fix unused variable warning
      USB: core: Unite old scheme and new scheme descriptor reads
      USB: core: Change usb_get_device_descriptor() API
      USB: core: Fix race by not overwriting udev->descriptor in hub_port_init()
      USB: core: Fix oversight in SuperSpeed initialization

Aleksa Sarai (1):
      procfs: block chmod on /proc/thread-self/comm

Alex Austin (1):
      sfc: Check firmware supports Ethernet PTP filter

Alex Henrie (1):
      net: ipv6/addrconf: avoid integer underflow in ipv6_create_tempaddr

Alexander Aring (1):
      dlm: fix plock lookup when using multiple lockspaces

Alexander Lobakin (3):
      bpftool: use a local copy of perf_event to fix accessing :: Bpf_cookie
      bpftool: Define a local bpf_perf_link to fix accessing its fields
      bpftool: Use a local bpf_perf_event_value to fix accessing its fields

Alexander Steffen (1):
      tpm_tis: Resend command to recover from data transfer errors

Alexander Stein (1):
      media: amphion: use dev_err_probe

Alexei Filippov (1):
      jfs: validate max amount of blocks before allocation.

Alibek Omarov (1):
      clk: rockchip: rk3568: Fix PLL rate setting for 78.75MHz

Amir Goldstein (2):
      ovl: fix failed copyup of fileattr on a symlink
      ovl: fix incorrect fdput() on aio completion

Anand Jain (3):
      btrfs: use the correct superblock to compare fsid in btrfs_validate_super
      btrfs: add a helper to read the superblock metadata_uuid
      btrfs: compare the correct fsid/metadata_uuid in btrfs_validate_super

Andreas Gruenbacher (2):
      gfs2: Switch to wait_event in gfs2_logd
      gfs2: low-memory forced flush fixes

Andrew Donnellan (1):
      lib/test_meminit: allocate pages up to order MAX_ORDER

Andrew Halaney (1):
      clk: qcom: gcc-sc8280xp: Add EMAC GDSCs

Andrew Kanner (1):
      fs/jfs: prevent double-free in dbUnmount() after failed jfs_remount()

Andrii Nakryiko (1):
      libbpf: Fix realloc API handling in zero-sized edge cases

Andrzej Hajda (1):
      drm/i915: mark requests for GuC virtual engines to avoid use-after-free

Andy Shevchenko (1):
      s390/zcrypt: don't leak memory if dev_set_name() fails

AngeloGioacchino Del Regno (3):
      drm/mediatek: dp: Add missing error checks in mtk_dp_parse_capabilities
      iommu/qcom: Disable and reset context bank before programming
      drm/mediatek: dp: Change logging to dev for mtk_dp_aux_transfer()

Ani Sinha (1):
      vmbus_testing: fix wrong python syntax for integer value comparison

Anna Schumaker (7):
      NFSv4.2: Rework scratch handling for READ_PLUS
      NFSv4.2: Fix READ_PLUS smatch warnings
      NFSv4.2: Fix up READ_PLUS alignment
      NFSv4.2: Fix READ_PLUS size calculations
      pNFS: Fix assignment of xprtdata.cred
      NFSv4.2: Fix a potential double free with READ_PLUS
      NFSv4.2: Rework scratch handling for READ_PLUS (again)

Ard Biesheuvel (1):
      x86/decompressor: Don't rely on upper 32 bits of GPRs being preserved

Ariel Marcovitch (1):
      idr: fix param name in idr_alloc_cyclic() doc

Armin Wolf (1):
      platform/x86: dell-sysman: Fix reference leak

Arnaldo Carvalho de Melo (4):
      perf trace: Use zfree() to reduce chances of use after free
      perf trace: Really free the evsel->priv area
      perf annotate bpf: Don't enclose non-debug code with an assert()
      perf top: Don't pass an ERR_PTR() directly to perf_session__delete()

Arnd Bergmann (5):
      mac80211: make ieee80211_tx_info padding explicit
      drm/amdgpu: avoid integer overflow warning in amdgpu_device_resize_fb_bar()
      kernfs: add stub helper for kernfs_generic_poll()
      extcon: cht_wc: add POWER_SUPPLY dependency
      samples/hw_breakpoint: fix building without module unloading

Artem Chernyshev (1):
      fs: ocfs2: namei: check return value of ocfs2_add_entry()

Aurabindo Pillai (1):
      Revert "Revert drm/amd/display: Enable Freesync Video Mode by default"

Austin Zheng (1):
      drm/amd/display: Use DTBCLK as refclk instead of DPREFCLK

Azeem Shaikh (1):
      crypto: lrw,xts - Replace strlcpy with strscpy

Baokun Li (4):
      quota: factor out dquot_write_dquot()
      quota: rename dquot_active() to inode_quota_active()
      quota: add new helper dquot_active()
      quota: fix dqput() to follow the guarantees dquot_srcu should provide

Baoquan He (3):
      clk: fixed-mmio: make COMMON_CLK_FIXED_MMIO depend on HAS_IOMEM
      idmaengine: make FSL_EDMA and INTEL_IDMA64 depends on HAS_IOMEM
      misc: open-dice: make OPEN_DICE depend on HAS_IOMEM

Bart Van Assche (3):
      scsi: ufs: Try harder to change the power mode
      scsi: RDMA/srp: Fix residual handling
      scsi: core: Fix the scsi_set_resid() documentation

Ben Hutchings (1):
      m68k: Fix invalid .section syntax

Benjamin Coddington (1):
      NFS: Guard against READDIR loop when entry names exceed MAXNAMELEN

Benjamin Gaignard (2):
      media: uapi: HEVC: Add num_delta_pocs_of_ref_rps_idx field
      media: rkvdec: increase max supported height for H.264

Benjamin Gray (1):
      powerpc/powermac: Use early_* IO variants in via_calibrate_decr()

Bharath SM (1):
      cifs: update desired access while requesting for directory lease

Bibo Mao (1):
      irqchip/loongson-eiointc: Fix return value checking of eiointc_index

Biju Das (2):
      hwmon: (tmp513) Fix the channel number in tmp51x_is_visible()
      iio: accel: adxl313: Fix adxl313_i2c_id[] table

Bjorn Andersson (1):
      arm64: dts: qcom: sc8280xp-crd: Correct vreg_misc_3p3 GPIO

Bjorn Helgaas (1):
      Revert "PCI: Mark NVIDIA T4 GPUs to avoid bus reset"

Björn Töpel (2):
      kselftest/runner.sh: Propagate SIGTERM to runner child
      selftests: Keep symlinks, when possible

Bob Pearson (2):
      RDMA/rxe: Split rxe_run_task() into two subroutines
      RDMA/rxe: Fix incomplete state save in rxe_requester

Bogdan Togorean (1):
      drm: adv7511: Fix low refresh rate register for ADV7533/5

Boris Brezillon (1):
      PM / devfreq: Fix leak in devfreq_dev_release()

Boris Burkov (2):
      btrfs: fix start transaction qgroup rsv double free
      btrfs: free qgroup rsv on io failure

Brian Foster (1):
      tracing: Zero the pipe cpumask on alloc to avoid spurious -EBUSY

Bryan O'Donoghue (1):
      arm64: dts: qcom: apq8016-sbc: Fix ov5640 regulator supply names

Budimir Markovic (1):
      net/sched: sch_hfsc: Ensure inner classes have fsc curve

Chao Yu (2):
      f2fs: fix to avoid mmap vs set_compress_option case
      Revert "f2fs: fix to do sanity check on extent cache correctly"

Chen Jiahao (1):
      soc: qcom: smem: Fix incompatible types in comparison

Chen-Yu Tsai (2):
      drm/bridge: anx7625: Use common macros for DP power sequencing commands
      drm/bridge: anx7625: Use common macros for HDCP capabilities

Chengchang Tang (2):
      RDMA/hns: Fix port active speed
      RDMA/hns: Fix CQ and QP cache affinity

Chengci.Xu (1):
      iommu/mediatek: Fix two IOMMU share pagetable issue

Chengfeng Ye (2):
      scsi: qedi: Fix potential deadlock on &qedi_percpu->p_work_lock
      scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock

Chengming Zhou (1):
      null_blk: fix poll request timeout handling

Chenyuan Mi (1):
      tools: iio: iio_generic_buffer: Fix some integer type and calculation

Chris Chiu (1):
      ALSA: hda/realtek: Enable 4 amplifiers instead of 2 on a HP platform

Chris Lew (1):
      soc: qcom: qmi_encdec: Restrict string length in decode

Chris Paterson (1):
      arm64: dts: renesas: rzg2l: Fix txdv-skew-psec typos

Christian Brauner (2):
      tmpfs: verify {g,u}id mount options correctly
      attr: block mode changes of symlinks

Christian Göttsche (1):
      security: keys: perform capable check only on privileged operations

Christian König (1):
      drm/amdgpu: fix amdgpu_cs_p1_user_fence

Christian Marangi (1):
      hwspinlock: qcom: add missing regmap config for SFPB MMIO implementation

Christoph Hellwig (4):
      block: cleanup queue_wc_store
      block: don't allow enabling a cache on devices that don't support it
      block: factor out a bvec_set_page helper
      nvmet: use bvec_set_page to initialize bvecs

Christophe JAILLET (5):
      KVM: x86/mmu: Use kstrtobool() instead of strtobool()
      arm64/ptrace: Clean up error handling path in sve_set_common()
      media: v4l2-core: Fix a potential resource leak in v4l2_fwnode_parse_link()
      media: dvb-usb: m920x: Fix a potential memory leak in m920x_i2c_xfer()
      tpm_crb: Fix an error handling path in crb_acpi_add()

Christophe Leroy (3):
      powerpc/radix: Move some functions into #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
      powerpc/perf: Convert fsl_emb notifier to state machine callbacks
      serial: cpm_uart: Avoid suspicious locking

Christopher Bednarz (1):
      RDMA/irdma: Prevent zero-length STAG registration

Chuck Lever (2):
      NFSD: da_addr_body field missing in some GETDEVICEINFO replies
      RDMA/siw: Fabricate a GID on tun and loopback devices

Chunhai Guo (1):
      f2fs: Only lfs mode is allowed with zoned block device feature

Chunyan Zhang (2):
      serial: sprd: Assign sprd_port after initialized to avoid wrong access
      serial: sprd: Fix DMA buffer leak issue

Ciprian Regus (1):
      net:ethernet:adi:adin1110: Fix forwarding offload

Claudiu Beznea (2):
      pinctrl: mcp23s08: check return value of devm_kasprintf()
      media: i2c: tvp5150: check return value of devm_kasprintf()

Colin Ian King (1):
      media: go7007: Remove redundant if statement

Corey Minyard (1):
      ipmi:ssif: Fix a memory leak when scanning for an adapter

Corinna Vinschen (1):
      igb: disable virtualization features on 82580

Cyril Hrubis (1):
      sched/rt: Fix sysctl_sched_rr_timeslice intial value

D Scott Phillips (1):
      arm64: sdei: abort running SDEI handlers during crash

Daire McNamara (1):
      PCI: microchip: Correct the DED and SEC interrupt bit offsets

Damien Le Moal (3):
      ata: sata_gemini: Add missing MODULE_DESCRIPTION
      ata: pata_ftide010: Add missing MODULE_DESCRIPTION
      scsi: pm8001: Setup IRQs on resume

Dan Carpenter (8):
      sctp: handle invalid error codes without calling BUG()
      regmap: rbtree: Use alloc_flags for memory allocations
      smackfs: Prevent underflow in smk_set_cipso()
      nfs/blocklayout: Use the passed in gfp flags
      media: mediatek: vcodec: fix potential double free
      media: mediatek: vcodec: fix resource leaks in vdec_msg_queue_init()
      driver core: test_async: fix an error code
      leds: pwm: Fix error code in led_pwm_create_fwnode()

Daniel Borkmann (1):
      selftests/bpf: Fix bpf_nf failure upon test rerun

Daniel Marcovitch (1):
      iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind

Daniel Miess (1):
      Partially revert "drm/amd/display: Fix possible underflow for displays with large vblank"

Daniel T. Lee (2):
      samples/bpf: fix bio latency check with tracepoint
      samples/bpf: fix broken map lookup probe

Daniel Vetter (1):
      drm/msm/mdp5: Don't leak some plane state

Daniil Dulov (2):
      media: dib7000p: Fix potential division by zero
      media: cx24120: Add retval check for cx24120_message_send()

Dave Hansen (1):
      x86/speculation: Mark all Skylake CPUs as vulnerable to GDS

Dave Jiang (3):
      ntb: Drop packets when qp link is down
      ntb: Clean up tx tail index on link down
      ntb: Fix calculation ntb_transport_tx_free_entry()

Dave Stevenson (1):
      media: i2c: ov2680: Set V4L2_CTRL_FLAG_MODIFY_LAYOUT on flips

David Christensen (1):
      bnx2x: fix page fault following EEH recovery

David Disseldorp (1):
      scsi: target: core: Fix target_cmd_counter leak

David Gow (1):
      drivers: base: Free devm resources when unregistering a device

David Howells (1):
      vfs, security: Fix automount superblock LSM init problem, preventing NFS sb sharing

David Jeffery (1):
      md: raid0: account for split bio in iostat accounting

David Wronek (2):
      arm64: dts: qcom: msm8996: Fix dsi1 interrupts
      clk: qcom: gcc-sc7180: Fix up gcc_sdcc2_apps_clk_src

Dexuan Cui (1):
      PCI: hv: Fix a crash in hv_pci_restore_msi_msg() during hibernation

Diogo Ivo (1):
      arm64: tegra: Fix HSUART for Smaug

Dmitry Antipov (7):
      media: pulse8-cec: handle possible ping error
      wifi: mwifiex: fix error recovery in PCIE buffer descriptor management
      wifi: mwifiex: fix memory leak in mwifiex_histogram_read()
      wifi: mwifiex: avoid possible NULL skb pointer dereference
      wifi: ath9k: fix fortify warnings
      wifi: mwifiex: fix fortify warning
      wifi: wil6210: fix fortify warnings

Dmitry Baryshkov (6):
      arm64: dts: qcom: pm8350: fix thermal zone name
      arm64: dts: qcom: pm8350b: fix thermal zone name
      arm64: dts: qcom: pmr735b: fix thermal zone name
      arm64: dts: qcom: pmk8350: fix ADC-TM compatible string
      drm/msm/dpu: fix the irq index in dpu_encoder_phys_wb_wait_for_commit_done
      clk: qcom: gcc-mdm9615: use proper parent for pll0_vote clock

Dmitry Mastykin (1):
      netlabel: fix shift wrapping bug in netlbl_catmap_setlong()

Dmitry Osipenko (2):
      dma-buf: Add unlocked variant of attachment-mapping functions
      misc: fastrpc: Prepare to dynamic dma-buf locking specification

Dmitry Torokhov (3):
      kvm/vfio: ensure kvg instance stays around in kvm_vfio_group_add()
      Input: tca6416-keypad - always expect proper IRQ number in i2c client
      Input: tca6416-keypad - fix interrupt enable disbalance

Dmytro Maluka (2):
      ASoC: da7219: Flush pending AAD IRQ when suspending
      ASoC: da7219: Check for failure reading AAD IRQ events

Dominique Martinet (2):
      9p: virtio: fix unlikely null pointer deref in handle_rerror
      9p: virtio: make sure 'offs' is initialized in zc_request

Dongliang Mu (2):
      drivers: usb: smsusb: fix error handling code in smsusb_init_device
      wifi: ath9k: fix printk specifier

Doug Smythies (1):
      cpufreq: intel_pstate: set stale CPU frequency to minimum

Douglas Anderson (2):
      Bluetooth: hci_sync: Don't double print name in add/remove adv_monitor
      of: property: fw_devlink: Add a devlink for panel followers

Eddie James (1):
      fsi: aspeed: Reset master errors after CFAM reset

Edgar (1):
      ASoc: codecs: ES8316: Fix DMIC config

Edson Juliano Drosdeck (1):
      ASoC: nau8821: Add DMI quirk mechanism for active-high jack-detect

Ekansh Gupta (1):
      misc: fastrpc: Fix incorrect DMA mapping unmap request

Enlin Mu (1):
      pstore/ram: Check start of empty przs during init

Eric Biggers (1):
      fsverity: skip PKCS#7 parser when keyring is empty

Eric Dumazet (19):
      net: annotate data-races around sk->sk_{rcv|snd}timeo
      tcp: tcp_enter_quickack_mode() should be static
      net: annotate data-races around sk->sk_lingertime
      igmp: limit igmpv3_newpack() packet size to IP_MAX_MTU
      net: add SKB_HEAD_ALIGN() helper
      net: remove osize variable in __alloc_skb()
      net: factorize code in kmalloc_reserve()
      net: deal with integer overflows in kmalloc_reserve()
      net/sched: fq_pie: avoid stalls in fq_pie_timer()
      sctp: annotate data-races around sk->sk_wmem_queued
      ipv4: annotate data-races around fi->fib_dead
      net: read sk->sk_family once in sk_mc_loop()
      net: use sk_forward_alloc_get() in sk_get_meminfo()
      net: annotate data-races around sk->sk_forward_alloc
      mptcp: annotate data-races around msk->rmem_fwd_alloc
      gve: fix frag_list chaining
      ip_tunnels: use DEV_STATS_INC()
      ipv6: fix ip6_sock_set_addr_preferences() typo
      netlink: convert nlk->flags to atomic flags

Eric Snowberg (1):
      ovl: Always reevaluate the file signature for IMA

Fabio Estevam (1):
      drm/msm/a2xx: Call adreno_gpu_init() earlier

Fedor Pchelkin (4):
      wifi: ath9k: fix races between ath9k_wmi_cmd and ath9k_wmi_ctrl_rx
      wifi: ath9k: protect WMI command response buffer replacement with a lock
      NFSv4/pnfs: minor fix for cleanup path in nfs4_get_device_info
      autofs: fix memory leak of waitqueues in autofs_catatonic_mode

Feiyang Chen (1):
      PCI/PM: Only read PCI_PM_CTRL register when available

Filipe Manana (3):
      btrfs: don't start transaction when joining with TRANS_JOIN_NOSTART
      btrfs: fix lockdep splat and potential deadlock after failure running delayed items
      btrfs: release path before inode lookup during the ino lookup ioctl

Florian Fainelli (1):
      hwrng: iproc-rng200 - Implement suspend and resume calls

Florian Westphal (2):
      net: fib: avoid warn splat in flow dissector
      netfilter: nftables: exthdr: fix 4-byte stack OOB write

Frank Li (1):
      i3c: master: svc: fix probe failure when no i3c device exist

Fudong Wang (1):
      drm/amd/display: Add smu write msg id fail retry process

GONG, Ruiqi (2):
      alx: fix OOB-read compiler warning
      netfilter: ebtables: fix fortify warnings in size_entry_mwt()

Gabe Teeger (1):
      drm/amd/display: Remove wait while locked

Gaosheng Cui (1):
      audit: fix possible soft lockup in __audit_inode_child()

Gaurav Jain (1):
      crypto: caam - fix unchecked return value error

Geert Uytterhoeven (6):
      drm/armada: Fix off-by-one error in armada_overlay_get_property()
      drm/repaper: Reduce temporary buffer size in repaper_fb_dirty()
      of: overlay: Call of_changeset_init() early
      of: unittest: Fix overlay type in apply/revert check
      treewide: Fix probing of devices in DT overlays
      platform/mellanox: NVSW_SN2201 should depend on ACPI

Geetha sowjanya (1):
      octeontx2-af: Fix truncation of smq in CN10K NIX AQ enqueue mbox handler

Georg Ottinger (1):
      ext2: fix datatype of block number in ext2_xattr_set2()

George Shen (1):
      drm/amd/display: Guard DCN31 PHYD32CLK logic against chip family

Gerald Schaefer (1):
      s390/dcssblk: fix kernel crash with list_add corruption

Giovanni Cabiddu (1):
      crypto: qat - change value of default idle filter

Giulio Benetti (1):
      mmc: sdhci-esdhc-imx: improve ESDHC_FLAG_ERR010450

Greg Kroah-Hartman (5):
      media: dvb: symbol fixup for dvb_attach()
      Linux 6.1.53
      Linux 6.1.54
      Revert "memcg: drop kmem.limit_in_bytes"
      Linux 6.1.55

Guangguan Wang (1):
      net/smc: use smc_lgr_list.lock to protect smc_lgr_list.list iterate in smcr_port_add

Guiting Shen (1):
      ASoC: atmel: Fix the 8K sample parameter in I2SC master

Guoniu.zhou (1):
      media: ov5640: fix low resolution image abnormal issue

Guoqing Jiang (2):
      RDMA/siw: Balance the reference of cep->kref in the error path
      RDMA/siw: Correct wrong debug message

Gurchetan Singh (1):
      drm/virtio: Conditionally allocate virtio_gpu_fence

Gustavo A. R. Silva (3):
      RDMA/irdma: Replace one-element array with flexible-array member
      ARM: OMAP2+: Fix -Warray-bounds warning in _pwrdm_state_switch()
      cpufreq: brcmstb-avs-cpufreq: Fix -Warray-bounds bug

Hamza Mahfooz (5):
      drm/amd/display: ensure async flips are only accepted for fast updates
      drm/amd/display: register edp_backlight_control() for DCN301
      drm/amd/display: prevent potential division by zero errors
      drm/amdgpu: register a dirty framebuffer callback for fbcon
      Revert "drm/amd: Disable S/G for APUs when 64GB or more host memory"

Hangyu Hua (2):
      net: ethernet: mvpp2_main: fix possible OOB write in mvpp2_ethtool_get_rxnfc()
      net: ethernet: mtk_eth_soc: fix possible NULL pointer dereference in mtk_hwlro_get_fdir_all()

Hans Verkuil (4):
      media: cec: core: add adap_nb_transmit_canceled() callback
      media: cec: core: add adap_unconfigured() callback
      media: tuners: qt1010: replace BUG_ON with a regular error
      media: pci: cx23885: replace BUG with error return

Hans de Goede (11):
      platform/x86: intel: hid: Always call BTNL ACPI method
      wifi: brcmfmac: Fix field-spanning write in brcmf_scan_params_v2_to_v1()
      media: ad5820: Drop unsupported ad5823 from i2c_ and of_device_id tables
      media: ov2680: Remove auto-gain and auto-exposure controls
      media: ov2680: Fix ov2680_bayer_order()
      media: ov2680: Fix vflip / hflip set functions
      media: ov2680: Remove VIDEO_V4L2_SUBDEV_API ifdef-s
      media: ov2680: Don't take the lock for try_fmt calls
      media: ov2680: Add ov2680_fill_format() helper function
      media: ov2680: Fix ov2680_set_fmt() which == V4L2_SUBDEV_FORMAT_TRY not working
      media: ov2680: Fix regulators being left enabled on ov2680_power_on() errors

Hao Chen (2):
      net: hns3: fix byte order conversion issue in hclge_dbg_fd_tcam_read()
      net: hns3: fix debugfs concurrency issue between kfree buffer and read

Hao Luo (1):
      libbpf: Free btf_vmlinux when closing bpf_object

Harini Katakam (1):
      net: macb: Enable PTP unicast

Hariprasad Kelam (1):
      octeontx2-pf: Refactor schedular queue alloc/free calls

Hayes Wang (1):
      r8152: check budget for r8152_poll()

Heiko Carstens (1):
      s390/dasd: fix string length handling

Heiner Kallweit (1):
      r8169: fix ASPM-related issues on a number of systems with NIC version from RTL8168h

Helge Deller (3):
      parisc: Fix /proc/cpuinfo output for lscpu
      parisc: led: Fix LAN receive and transmit LEDs
      parisc: led: Reduce CPU overhead for disk & lan LED computation

Herbert Xu (2):
      crypto: rsa-pkcs1pad - Use helper to set reqsize
      crypto: api - Use work queue in crypto_destroy_instance

Hien Huynh (1):
      dmaengine: sh: rz-dmac: Fix destination and source data size setting

Holger Dengler (4):
      s390/pkey: fix/harmonize internal keyblob headers
      s390/pkey: fix PKEY_TYPE_EP11_AES handling in PKEY_GENSECK2 IOCTL
      s390/pkey: fix PKEY_TYPE_EP11_AES handling for sysfs attributes
      s390/paes: fix PKEY_TYPE_EP11_AES handling for secure keyblobs

Hongchen Zhang (2):
      LoongArch: Let pmd_present() return true when splitting pmd
      LoongArch: mm: Add p?d_leaf() definitions

Hsin-Yi Wang (1):
      mtd: spi-nor: Check bus width while setting QE bit

Hugo Villeneuve (2):
      serial: sc16is7xx: remove obsolete out_thread label
      serial: sc16is7xx: fix regression with GPIO configuration

Ian Rogers (6):
      tools lib subcmd: Add install target
      tools lib subcmd: Make install_headers clearer
      tools lib subcmd: Add dependency test to install_headers
      tools/resolve_btfids: Install subcmd headers
      tools/resolve_btfids: Alter how HOSTCC is forced
      tools/resolve_btfids: Tidy HOST_OVERRIDES

Ilan Peer (1):
      wifi: mac80211: Use active_links instead of valid_links in Tx

Illia Ostapyshyn (1):
      HID: input: Support devices sending Eraser without Invert

Ilpo Järvinen (12):
      selftests/resctrl: Add resctrl.h into build deps
      selftests/resctrl: Don't leak buffer in fill_cache()
      selftests/resctrl: Unmount resctrl FS if child fails to run benchmark
      selftests/resctrl: Close perf value read fd on errors
      PCI: Add locking to RMW PCI Express Capability Register accessors
      PCI: pciehp: Use RMW accessors for changing LNKCTL
      PCI/ASPM: Use RMW accessors for changing LNKCTL
      drm/amdgpu: Use RMW accessors for changing LNKCTL
      drm/radeon: Use RMW accessors for changing LNKCTL
      net/mlx5: Use RMW accessors for changing LNKCTL
      wifi: ath11k: Use RMW accessors for changing LNKCTL
      wifi: ath10k: Use RMW accessors for changing LNKCTL

Ira Weiny (2):
      PCI/DOE: Fix destroy_work_on_stack() race
      PCI: Allow drivers to request exclusive config regions

Irui Wang (1):
      media: mediatek: vcodec: Return NULL if no vdec_fb is found

Jack Wang (1):
      x86/sgx: Break up long non-preemptible delays in sgx_vepc_release()

Jacob Keller (1):
      ice: avoid executing commands on other ports when driving sync

Jacopo Mondi (1):
      media: i2c: rdacm21: Fix uninitialized value

Jaegeuk Kim (2):
      f2fs: flush inode if atomic file is aborted
      f2fs: avoid false alarm of circular locking

Jamal Hadi Salim (1):
      net/sched: Retire rsvp classifier

Jan Kara (3):
      udf: Handle error when adding extent to a file
      md/raid0: Factor out helper for mapping and submitting a bio
      md/raid0: Fix performance regression for large sequential writes

Jane Jian (1):
      drm/amd/smu: use AverageGfxclkFrequency* to replace previous GFX Curr Clock

Jann Horn (1):
      dccp: Fix out of bounds access in DCCP error handler

Janusz Krzysztofik (1):
      x86/mm: Fix PAT bit missing from page protection modify mask

Jarkko Sakkinen (1):
      tpm: Enable hwrng only for Pluton on AMD CPUs

Jason Gunthorpe (2):
      driver core: Call dma_cleanup() on the test_remove path
      iommu/sprd: Add missing force_aperture

Jason-JH.Lin (1):
      drm/mediatek: Remove freeing not dynamic allocated memory

Jeff LaBundy (1):
      Input: iqs7222 - configure power mode before triggering ATI

Jeff Layton (1):
      nfsd: fix change_info in NFSv4 RENAME replies

Jens Axboe (1):
      dm: don't attempt to queue IO under RCU protection

Jian Shen (2):
      net: hns3: restore user pause configure when disable autoneg
      net: hns3: fix tx timeout issue

Jiasheng Jiang (3):
      drm: xlnx: zynqmp_dpsub: Add missing check for dma_set_mask
      ipmi:ssif: Add check for kstrdup
      rpmsg: glink: Add check for kstrdup

Jie Wang (1):
      net: hns3: remove GSO partial feature bit

Jijie Shao (1):
      net: hns3: fix invalid mutex between tc qdisc and dcb ets command issue

Jinjie Ruan (6):
      Bluetooth: btusb: Do not call kfree_skb() under spin_lock_irqsave()
      net: arcnet: Do not call kfree_skb() under local_irq_disable()
      kunit: Fix wild-memory-access bug in kunit_free_suite_set()
      drm: gm12u320: Fix the timeout usage for usb_bulk_msg()
      scsi: qla2xxx: Fix NULL vs IS_ERR() bug for debugfs_create_dir()
      scsi: lpfc: Fix the NULL vs IS_ERR() bug for debugfs_create_file()

Jiri Olsa (2):
      tools/resolve_btfids: Compile resolve_btfids as host program
      tools/resolve_btfids: Pass HOSTCFLAGS as EXTRA_CFLAGS to prepare targets

Jiri Pirko (1):
      devlink: remove reload failed checks in params get/set callbacks

Jiri Slaby (SUSE) (1):
      ACPI: video: Add backlight=native DMI quirk for Lenovo Ideapad Z470

Joel Fernandes (Google) (1):
      mm/vmalloc: add a safer version of find_vm_area() for debug

Johan Hovold (6):
      clk: qcom: camcc-sc7180: fix async resume during probe
      clk: qcom: turingcc-qcs404: fix missing resume during probe
      clk: qcom: dispcc-sm8450: fix runtime PM imbalance on probe errors
      clk: qcom: lpasscc-sc7280: fix missing resume during probe
      clk: qcom: q6sstop-qcs404: fix missing resume during probe
      clk: qcom: mss-sc7180: fix missing resume during probe

Johannes Berg (6):
      wifi: cfg80211: remove links only on AP
      wifi: mac80211: check S1G action frame size
      wifi: cfg80211: reject auth/assoc to AP with our address
      wifi: cfg80211: ocb: don't leave if not joined
      wifi: mac80211: check for station first in client probe
      wifi: mac80211_hwsim: drop short frames

John Fastabend (1):
      bpf, sockmap: Fix skb refcnt race after locking changes

John Ogness (2):
      printk: Keep non-panic-CPUs out of console lock
      printk: Consolidate console deferred printing

John Watts (2):
      can: sun4i_can: Add acceptance register quirk
      can: sun4i_can: Add support for the Allwinner D1

Jon Hunter (1):
      arm64: tegra: Fix HSUART for Jetson AGX Orin

Jonas Karlman (3):
      iommu: rockchip: Fix directory table address encoding
      phy/rockchip: inno-hdmi: use correct vco_div_5 macro on rk3328
      phy/rockchip: inno-hdmi: do not power on rk3328 post pll on reg write

Jonathan Marek (1):
      mailbox: qcom-ipcc: fix incorrect num_chans counting

Jordan Rife (1):
      net: Avoid address overwrite in kernel_connect

Josef Bacik (2):
      btrfs: set page extent mapped after read_folio in relocate_one_page
      btrfs: check for BTRFS_FS_ERROR in pending ordered assert

Josua Mayer (1):
      net: sfp: handle 100G/25G active optical cables in sfp_parse_support

Junhao He (1):
      coresight: trbe: Fix TRBE potential sleep in atomic context

Junxian Huang (2):
      RDMA/hns: Fix incorrect post-send with direct wqe of wr-list
      RDMA/hns: Fix inaccurate error label name in init instance

Junxiao Bi (1):
      scsi: megaraid_sas: Fix deadlock on firmware crashdump

Jussi Laako (1):
      ALSA: usb-audio: Update for native DSD support quirks

Justin Tee (3):
      scsi: lpfc: Remove reftag check in DIF paths
      scsi: lpfc: Fix incorrect big endian type assignment in bsg loopback path
      scsi: lpfc: Abort outstanding ELS cmds when mailbox timeout error is detected

Kajol Jain (4):
      perf vendor events: Update the JSON/events descriptions for power10 platform
      perf vendor events: Drop some of the JSON/events for power10 platform
      perf vendor events: Drop STORES_PER_INST metric event for power10 platform
      perf test stat_bpf_counters_cgrp: Fix shellcheck issue about logical operators

Kalesh Singh (2):
      Multi-gen LRU: fix per-zone reclaim
      Multi-gen LRU: avoid race in inc_min_seq()

Kalle Valo (1):
      Revert "wifi: ath6k: silence false positive -Wno-dangling-pointer warning on GCC 12"

Kan Liang (1):
      perf/x86/uncore: Correct the number of CHAs on EMR

Katya Orlova (1):
      smb: propagate error code of extract_sharename()

Kees Cook (4):
      selftests/harness: Actually report SKIP for signal tests
      ARM: ptrace: Restore syscall restart tracing
      ARM: ptrace: Restore syscall skipping for tracers
      printk: ringbuffer: Fix truncating buffer size min_t cast

Keith Busch (1):
      nvme: avoid bogus CRTO values

Kemeng Shi (2):
      ext4: correct grp validation in ext4_mb_good_group
      ext4: avoid potential data overflow in next_linear_group

Kirill A. Shutemov (1):
      x86/boot/compressed: Reserve more memory for page tables

Konrad Dybcio (30):
      arm64: dts: qcom: sm6350: Fix ZAP region
      arm64: dts: qcom: sm8250-edo: Add gpio line names for TLMM
      arm64: dts: qcom: sm8250-edo: Add GPIO line names for PMIC GPIOs
      arm64: dts: qcom: sm8250-edo: Rectify gpio-keys
      arm64: dts: qcom: sc8280xp: Add missing SCM interconnect
      arm64: dts: qcom: msm8996: Add missing interrupt to the USB2 controller
      arm64: dts: qcom: sdm845-tama: Set serial indices and stdout-path
      arm64: dts: qcom: sm8350: Fix CPU idle state residency times
      arm64: dts: qcom: sm8350: Add missing LMH interrupts to cpufreq
      arm64: dts: qcom: sm8350: Use proper CPU compatibles
      arm64: dts: qcom: sm8250: Mark PCIe hosts as DMA coherent
      arm64: dts: qcom: pm6150l: Add missing short interrupt
      arm64: dts: qcom: pm660l: Add missing short interrupt
      arm64: dts: qcom: pmi8994: Add missing OVP interrupt
      arm64: dts: qcom: msm8998: Drop bus clock reference from MMSS SMMU
      arm64: dts: qcom: msm8998: Add missing power domain to MMSS SMMU
      arm64: dts: qcom: sc8280xp-x13s: Unreserve NC pins
      clk: qcom: gpucc-sm6350: Introduce index-based clk lookup
      clk: qcom: gpucc-sm6350: Fix clock source names
      clk: qcom: gcc-sc8280xp: Add missing GDSC flags
      dt-bindings: clock: qcom,gcc-sc8280xp: Add missing GDSCs
      clk: qcom: gcc-sc8280xp: Add missing GDSCs
      clk: qcom: reset: Use the correct type of sleep/delay based on length
      clk: qcom: gcc-sm8450: Use floor ops for SDCC RCGs
      interconnect: qcom: qcm2290: Enable sync state
      media: venus: hfi_venus: Only consider sys_idle_indicator on V1
      interconnect: qcom: sm8450: Enable sync_state
      interconnect: qcom: bcm-voter: Improve enable_mask handling
      interconnect: qcom: bcm-voter: Use enable_maks for keepalive voting
      media: venus: hfi_venus: Write to VIDC_CTRL_INIT after unmasking interrupts

Konstantin Meskhidze (3):
      nvdimm: Fix memleak of pmu attr_groups in unregister_nvdimm_pmu()
      nvdimm: Fix dereference after free in register_nvdimm_pmu()
      kconfig: fix possible buffer overflow

Konstantin Shelekhin (2):
      platform/x86: huawei-wmi: Silence ambient light sensor
      scsi: target: iscsi: Fix buffer overflow in lio_target_nacl_info_show()

Kristian Angelov (1):
      platform/x86: asus-wmi: Fix setting RGB mode on some TUF laptops

Krzysztof Kozlowski (12):
      arm64: dts: qcom: msm8916-l8150: correct light sensor VDDIO supply
      arm64: dts: qcom: sm8250-sony-xperia: correct GPIO keys wakeup again
      ARM: dts: samsung: s3c6410-mini6410: correct ethernet reg addresses (split)
      ARM: dts: s5pv210: add dummy 5V regulator for backlight on SMDKv210
      ARM: dts: samsung: s5pv210-smdkv210: correct ethernet reg addresses (split)
      arm64: dts: qcom: msm8996-gemini: fix touchscreen VIO supply
      dt-bindings: extcon: maxim,max77843: restrict connector properties
      dt-bindings: clock: xlnx,versal-clk: drop select:false
      arm64: dts: qcom: sm6125-pdx201: correct ramoops pmsg-size
      arm64: dts: qcom: sm6350: correct ramoops pmsg-size
      arm64: dts: qcom: sm8150-kumano: correct ramoops pmsg-size
      arm64: dts: qcom: sm8250-edo: correct ramoops pmsg-size

Kuniyuki Iwashima (12):
      Revert "bridge: Add extack warning when enabling STP in netns."
      netrom: Deny concurrent connect().
      af_unix: Fix data-races around user->unix_inflight.
      af_unix: Fix data-race around unix_tot_inflight.
      af_unix: Fix data-races around sk->sk_shutdown.
      af_unix: Fix data race around sk->sk_err.
      ipv6: Remove in6addr_any alternatives.
      tcp: Factorise sk_family-independent comparison in inet_bind2_bucket_match(_addr_any).
      tcp: Fix bind() regression for v4-mapped-v6 wildcard address.
      tcp: Fix bind() regression for v4-mapped-v6 non-wildcard address.
      kcm: Fix error handling for SOCK_DGRAM in kcm_sendmsg().
      net: Use sockaddr_storage for getsockopt(SO_PEERNAME).

Kyle Zeng (1):
      netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c

Leo Chen (3):
      drm/amd/display: Exit idle optimizations before attempt to access PHY
      drm/amd/display: Blocking invalid 420 modes on HDMI TMDS for DCN31
      drm/amd/display: Blocking invalid 420 modes on HDMI TMDS for DCN314

Leo Ma (1):
      drm/amd/display: Fix underflow issue on 175hz timing

Leon Romanovsky (1):
      Revert "IB/isert: Fix incorrect release of isert connection"

Li Lingfeng (1):
      block: don't add or resize partition on the disk with GENHD_FL_NO_PART

Li Nan (2):
      md/raid10: factor out dereference_rdev_and_rrdev()
      md/raid10: use dereference_rdev_and_rrdev() to get devices

Liang Chen (1):
      veth: Fixing transmit return status for dropped packets

Liang He (1):
      powerpc/mpc5xxx: Add missing fwnode_handle_put()

Liao Chang (2):
      cpufreq: powernow-k8: Use related_cpus instead of cpus in driver.exit()
      cpufreq: Fix the race condition while updating the transition_task of policy

Lijo Lazar (1):
      drm/amdgpu: Match against exact bootloader status

Liming Sun (2):
      platform/mellanox: mlxbf-tmfifo: Drop the Rx packet if no more descriptors
      platform/mellanox: mlxbf-tmfifo: Drop jumbo frames

Lin Ma (6):
      wifi: mt76: testmode: add nla_policy for MT76_TM_ATTR_TX_LENGTH
      wifi: nl80211/cfg80211: add forgotten nla_policy for BSS color attribute
      scsi: iscsi: Add length check for nlattr payload
      scsi: iscsi: Add strlen() check in iscsi_if_set{_host}_param()
      scsi: be2iscsi: Add length check when parsing nlattrs
      scsi: qla4xxx: Add length check when parsing nlattrs

Linus Walleij (1):
      mtd: spi-nor: Correct flags for Winbond w25q128

Liu Jian (2):
      net: ipv4: fix one memleak in __inet_del_ifa()
      net/tls: do not free tls_rec on async operation in bpf_exec_tx_verdict()

Liu Shixin via Jfs-discussion (1):
      jfs: fix invalid free of JFS_IP(ipimap)->i_imap in diUnmount

Liu Ying (1):
      drm/mxsfb: Disable overlay plane in mxsfb_plane_overlay_atomic_disable()

Lorenz Bauer (2):
      udp: re-score reuseport groups when connected sockets are present
      bpf: reject unhashed sockets in bpf_sk_assign

Lu Hongfei (1):
      media: mdp3: Fix resource leaks in of_find_device_by_node

Lu Jialin (1):
      cgroup:namespace: Remove unused cgroup_namespaces_init()

Luca Weiss (3):
      soc: qcom: ocmem: Add OCMEM hardware version print
      soc: qcom: ocmem: Fix NUM_PORTS & NUM_MACROS macros
      clk: qcom: gcc-sm6350: Fix gcc_sdcc2_apps_clk_src

Lucas Stach (1):
      drm/etnaviv: fix dumping of active MMU context

Lukas Wunner (1):
      panic: Reenable preemption in WARN slowpath

Lukasz Majewski (1):
      net: dsa: microchip: KSZ9477 register regmap alignment to 32 bit boundaries

Luís Henriques (1):
      ext4: fix memory leaks in ext4_fname_{setup_filename,prepare_lookup}

Ma Ke (1):
      usb: gadget: fsl_qe_udc: validate endpoint index for ch9 udc

Maciej S. Szmigiero (1):
      Drivers: hv: vmbus: Don't dereference ACPI root object handle

Maciej W. Rozycki (3):
      Revert "MIPS: unhide PATA_PLATFORM"
      MIPS: Fix CONFIG_CPU_DADDI_WORKAROUNDS `modules_install' regression
      MIPS: Only fiddle with CHECKFLAGS if `need-compiler'

Magnus Karlsson (1):
      xsk: Fix xsk_diag use-after-free error during socket cleanup

Manish Mandlik (1):
      Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_add_adv_monitor()

Manish Rangankar (1):
      scsi: qla2xxx: Remove unsupported ql2xenabledif option

Manivannan Sadhasivam (4):
      OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd()
      arm64: dts: qcom: sdm845: Add missing RPMh power domain to GCC
      arm64: dts: qcom: sdm845: Fix the min frequency of "ice_core_clk"
      PCI: qcom-ep: Switch MHI bus master clock off during L1SS

Marc Kleine-Budde (1):
      can: gs_usb: gs_usb_receive_bulk_callback(): count RX overflow errors also in case of OOM

Marco Felsch (2):
      clk: imx8mp: fix sai4 clock
      clk: imx: pll14xx: align pdiv with reference manual

Marek Behún (3):
      leds: multicolor: Use rounded division when calculating color components
      leds: Fix BUG_ON check for LED_COLOR_ID_MULTI that is always false
      leds: trigger: tty: Do not use LED_ON/OFF constants, use led_blink_set_oneshot instead

Marek Vasut (10):
      drm/bridge: tc358764: Fix debug print parameter order
      ARM: dts: stm32: Rename mdio0 to mdio
      ARM: dts: stm32: Add missing detach mailbox for emtrion emSBC-Argon
      ARM: dts: stm32: Add missing detach mailbox for Odyssey SoM
      ARM: dts: stm32: Update to generic ADC channel binding on DHSOM systems
      ARM: dts: stm32: Add missing detach mailbox for DHCOM SoM
      drm/panel: simple: Add missing connector type and pixel format for AUO T215HVN01
      media: ov5640: Enable MIPI interface in ov5640_set_power_mipi()
      media: ov5640: Fix initial RESETB state and annotate timings
      drm/bridge: tc358762: Instruct DSI host to generate HSE packets

Mario Limonciello (4):
      ACPI: x86: s2idle: Post-increment variables when getting constraints
      ACPI: x86: s2idle: Fix a logic error parsing AMD constraints table
      platform/x86/amd/pmf: Fix a missing cleanup path
      ACPI: x86: s2idle: Catch multiple ACPI_TYPE_PACKAGE objects

Mariusz Tkaczyk (2):
      md: add error_handlers for raid0 and linear
      md: Put the right device in md_seq_next

Mark Brown (3):
      arm64/sme: Don't use streaming mode to probe the maximum SME VL
      arm64/fpsimd: Only provide the length to cpufeature for xCR registers
      PCI: dwc: Provide deinit callback for i.MX

Mark O'Donovan (1):
      crypto: lib/mpi - avoid null pointer deref in mpi_cmp_ui()

Martin KaFai Lau (1):
      bpf: Remove prog->active check for bpf_lsm and bpf_iter

Martin Kaiser (2):
      hwrng: nomadik - keep clock enabled while hwrng is registered
      hwrng: pic32 - use devm_clk_get_enabled

Martin Kohn (1):
      net: usb: qmi_wwan: add Quectel EM05GV2

Masahiro Yamada (3):
      kbuild: rust_is_available: remove -v option
      kbuild: rpm-pkg: define _arch conditionally
      kbuild: do not run depmod for 'make modules_sign'

Masami Hiramatsu (Google) (2):
      kprobes: Prohibit probing on CFI preamble symbol
      selftests: tracing: Fix to unmount tracefs for recovering environment

Matt Whitlock (1):
      mt76: mt7921: don't assume adequate headroom for SDIO headers

Matthew Wilcox (1):
      reiserfs: Check the return value from __getblk()

Matthew Wilcox (Oracle) (2):
      iomap: Remove large folio handling in iomap_invalidate_folio()
      XArray: Do not return sibling entries from xa_load()

Max Filippov (1):
      xtensa: PMU: fix base address for the newer hardware

Maxim Mikityanskiy (1):
      platform/x86/intel/hid: Add HP Dragonfly G2 to VGBS DMI quirks

Melissa Wen (1):
      drm/amd/display: enable cursor degamma for DCN3+ DRM legacy gamma

Menglong Dong (1):
      net: tcp: fix unexcepted socket die when snd_wnd is 0

Michael Ellerman (1):
      powerpc: Don't include lppaca.h in paca.h

Michael Kelley (1):
      scsi: storvsc: Always set no_report_opcodes

Michael Schmitz (1):
      ata: pata_falcon: fix IO base selection for Q40

Michal Hocko (1):
      memcg: drop kmem.limit_in_bytes

Michel Dänzer (1):
      Revert "drm/amd/display: Do not set drr on pipe commit"

Miguel Ojeda (2):
      kbuild: rust_is_available: add check for `bindgen` invocation
      kbuild: rust_is_available: fix confusion when a version appears in the path

Mikel Rychliski (1):
      x86/efistub: Fix PCI ROM preservation in mixed mode

Mikhail Kobuk (1):
      tracing: Remove extra space at the end of hwlat_detector/mode

Min Li (1):
      Bluetooth: Fix potential use-after-free when clear keys

Ming Qian (7):
      media: amphion: reinit vpu if reqbufs output 0
      media: amphion: add helper function to get id name
      media: amphion: fix CHECKED_RETURN issues reported by coverity
      media: amphion: fix REVERSE_INULL issues reported by coverity
      media: amphion: fix UNINIT issues reported by coverity
      media: amphion: fix UNUSED_VALUE issue reported by coverity
      media: amphion: ensure the bitops don't cross boundaries

Ming Yen Hsieh (1):
      wifi: mt76: mt7921: fix non-PSC channel scan fail

Minjie Du (3):
      ata: pata_arasan_cf: Use dev_err_probe() instead dev_err() in data_xfer()
      drivers: clk: keystone: Fix parameter judgment in _of_pll_clk_init()
      RDMA/qedr: Remove a duplicate assignment in irdma_query_ah()

Mohamed Khalfella (1):
      skbuff: skb_segment, Call zero copy functions before using skbuff frags

Muchun Song (1):
      mm: hugetlb_vmemmap: fix a race between vmemmap pmd split

Mårten Lindahl (1):
      ARM: 9317/1: kexec: Make smp stop calls asynchronous

Namhyung Kim (5):
      perf test stat_bpf_counters_cgrp: Enhance perf stat cgroup BPF counter test
      perf hists browser: Fix hierarchy mode header
      perf test shell stat_bpf_counters: Fix test on Intel
      perf tools: Handle old data in PERF_RECORD_ATTR
      perf hists browser: Fix the number of entries for 'e' key

Namjae Jeon (4):
      ksmbd: fix out of bounds in smb3_decrypt_req()
      ksmbd: validate session id and tree id in compound request
      ksmbd: no response from compound read
      ksmbd: fix out of bounds in init_smb2_rsp_hdr()

Naohiro Aota (2):
      btrfs: zoned: do not zone finish data relocation block group
      btrfs: zoned: re-enable metadata over-commit for zoned mode

Nathan Chancellor (3):
      powerpc/boot: Disable power10 features after BOOTAFLAGS assignment
      clk: Avoid invalid function names in CLK_OF_DECLARE()
      lib: test_scanf: Add explicit type cast to result initialization in test_number_prefix()

Nayna Jain (1):
      ima: Remove deprecated IMA_TRUSTED_KEYRING Kconfig

Nicholas Piggin (1):
      powerpc/pseries: Fix hcall tracepoints with JUMP_LABEL=n

Nicolas Dichtel (1):
      net: handle ARPHRD_PPP in dev_is_mac_header_xmit()

Nigel Croxon (1):
      md/raid1: fix error: ISO C90 forbids mixed declarations

Nikita Zhandarovich (1):
      HID: logitech-dj: Fix error handling in logi_dj_recv_switch_to_dj_mode()

Niklas Cassel (1):
      ata: libata: disallow dev-initiated LPM transitions to unsupported states

Nikolay Burykin (1):
      media: pci: cx23885: fix error handling for cx23885 ATSC boards

Nilesh Javali (2):
      Revert "scsi: qla2xxx: Fix buffer overrun"
      scsi: qla2xxx: Fix smatch warn for qla_init_iocb_limit()

Nirmal Patel (1):
      PCI: vmd: Disable bridge window for domain reset

Nishanth Menon (1):
      firmware: ti_sci: Use system_state to determine polling

Nysal Jan K.A (1):
      selftests/futex: Order calls to futex_lock_pi

Oleksandr Natalenko (3):
      scsi: qedf: Do not touch __user pointer in qedf_dbg_stop_io_on_error_cmd_read() directly
      scsi: qedf: Do not touch __user pointer in qedf_dbg_debug_cmd_read() directly
      scsi: qedf: Do not touch __user pointer in qedf_dbg_fp_int_cmd_read() directly

Oleksij Rempel (1):
      net: phy: micrel: Correct bit assignments for phy_device flags

Olga Kornievskaia (1):
      NFSv4.2: fix handling of COPY ERR_OFFLOAD_NO_REQ

Olga Zaborska (3):
      igc: Change IGC_MIN to allow set rx/tx value between 64 and 80
      igbvf: Change IGBVF_MIN to allow set rx/tx value between 64 and 80
      igb: Change IGB_MIN to allow set rx/tx value between 64 and 80

Olivier Moysan (1):
      ARM: dts: stm32: adopt generic iio bindings for adc channels on emstamp-argon

Ondrej Mosnacek (1):
      selinux: fix handling of empty opts in selinux_fs_context_submount()

Patrick Whewell (1):
      clk: qcom: gcc-sm8250: Fix gcc_sdcc2_apps_clk_src

Paul E. McKenney (1):
      scftorture: Forgive memory-allocation failure if KASAN

Paul Gortmaker (1):
      tick/rcu: Fix false positive "softirq work is pending" messages

Paulo Alcantara (1):
      cifs: use fs_context for automounts

Pavel Begunkov (9):
      io_uring: fix drain stalls by invalid SQE
      io_uring: break iopolling on signal
      io_uring: always lock in io_apoll_task_func
      io_uring: revert "io_uring fix multishot accept ordering"
      io_uring/net: don't overflow multishot accept
      io_uring: break out of iowq iopoll on teardown
      io_uring/sqpoll: fix io-wq affinity when IORING_SETUP_SQPOLL is used
      io_uring: Don't set affinity on a dying sqpoll thread
      io_uring/net: fix iter retargeting for selected buf

Pavel Kozlov (1):
      ARC: atomics: Add compiler barrier to atomic operations...

Peng Fan (3):
      thermal/of: Fix potential uninitialized value access
      clk: imx: imx8ulp: update SPLL2 type
      amba: bus: fix refcount leak

Peter Zijlstra (1):
      x86/ibt: Suppress spurious ENDBR

Petr Tesarik (1):
      sh: boards: Fix CEU buffer size passed to dma_declare_coherent_memory()

Phil Elwell (1):
      ASoC: cs43130: Fix numerator/denominator mixup

Pierre-Louis Bossart (2):
      ASoC: SOF: topology: simplify code to prevent static analysis warnings
      ALSA: hda: intel-dsp-cfg: add LunarLake support

Pierre-Yves MORDRET (2):
      ARM: dts: stm32: YAML validation fails for Argon Boards
      ARM: dts: stm32: YAML validation fails for Odyssey Boards

Polaris Pi (2):
      wifi: mwifiex: Fix OOB and integer underflow when rx packets
      wifi: mwifiex: Fix missed return in oob checks failed path

Przemek Kitszel (1):
      ice: ice_aq_check_events: fix off-by-one check when filling buffer

Qi Hu (1):
      LoongArch: Fix the write_fcsr() macro

Qi Zheng (1):
      arm64: mm: use ptep_clear() instead of pte_clear() in clear_flush()

Qiang Yu (1):
      bus: mhi: host: Skip MHI reset if device is in RDDM

Qiuxu Zhuo (1):
      EDAC/igen6: Fix the issue of no error events

Qu Wenruo (2):
      btrfs: output extra debug info if we failed to find an inline backref
      btrfs: fix a compilation error if DEBUG is defined in btree_dirty_folio

Quan Tian (1):
      net/ipv6: SKB symmetric hash should incorporate transport ports

Quentin Monnet (1):
      bpftool: Use a local copy of BPF_LINK_TYPE_PERF_EVENT in pid_iter.bpf.c

Quinn Tran (12):
      scsi: qla2xxx: Adjust IOCB resource on qpair create
      scsi: qla2xxx: Limit TMF to 8 per function
      scsi: qla2xxx: Fix deletion race condition
      scsi: qla2xxx: fix inconsistent TMF timeout
      scsi: qla2xxx: Fix command flush during TMF
      scsi: qla2xxx: Fix erroneous link up failure
      scsi: qla2xxx: Turn off noisy message log
      scsi: qla2xxx: Fix session hang in gnl
      scsi: qla2xxx: Fix TMF leak through
      scsi: qla2xxx: Flush mailbox commands on chip reset
      scsi: qla2xxx: Error code did not return to upper layer
      scsi: qla2xxx: Fix firmware resource tracking

RD Babiera (2):
      usb: typec: tcpm: set initial svdm version based on pd revision
      usb: typec: bus: verify partner exists in typec_altmode_attention

Raag Jadav (2):
      pinctrl: cherryview: fix address_space_handler() argument
      watchdog: intel-mid_wdt: add MODULE_ALIAS() to allow auto-load

Radoslaw Tyl (1):
      igb: set max size RX buffer when store bad packet is enabled

Rafał Miłecki (5):
      ARM: dts: BCM53573: Drop nonexistent #usb-cells
      ARM: dts: BCM53573: Add cells sizes to PCIe node
      ARM: dts: BCM53573: Use updated "spi-gpio" binding properties
      ARM: dts: BCM53573: Fix Ethernet info for Luxul devices
      ARM: dts: BCM53573: Fix Tenda AC9 switch CPU port

Rahul Rameshbabu (2):
      HID: uclogic: Correct devm device reference for hidinput input_dev name
      HID: multitouch: Correct devm device reference for hidinput input_dev name

Ralph Campbell (1):
      drm/edid: Add quirk for OSVR HDK 2.0

Randy Dunlap (5):
      sched/psi: Select KERNFS as needed
      ASoC: stac9766: fix build errors with REGMAP_AC97
      x86/APM: drop the duplicate APM_MINOR_DEV macro
      docs: ABI: fix spelling/grammar in SBEFIFO timeout interface
      um: Fix hostaudio build errors

Ranjan Kumar (1):
      scsi: mpt3sas: Perform additional retries if doorbell read returns 0

Raphael Gallais-Pou (1):
      staging: fbtft: ili9341: use macro FBTFT_REGISTER_SPI_DRIVER

Rex Zhang (1):
      dmaengine: idxd: Modify the dependence of attribute pasid_enabled

Rick Wertenbroek (1):
      PCI: rockchip: Use 64-bit mask on MSI 64-bit PCI address

Rob Clark (3):
      dma-buf/sync_file: Fix docs syntax
      interconnect: Fix locking for runpm vs reclaim
      interconnect: Teach lockdep about icc_bw_lock order

Rob Herring (1):
      ARM: dts: Add .dts files missing from the build

Robert Marko (1):
      ARM: dts: qcom: ipq4019: correct SDHCI XO clock

Rong Tao (1):
      samples/hw_breakpoint: Fix kernel BUG 'invalid opcode: 0000'

Ross Lagerwall (1):
      PCI: Free released resource after coalescing

Ruan Jinjie (1):
      of: unittest: fix null pointer dereferencing in of_unittest_find_node_by_name()

Ruidong Tian (1):
      coresight: tmc: Explicit type conversions to prevent integer overflow

Russell Currey (3):
      kbuild: rust_is_available: fix version check when CC has multiple arguments
      powerpc/pseries: Rework lppaca_shared_proc() to avoid DEBUG_PREEMPT
      powerpc/iommu: Fix notifiers being shared by PCI and VIO buses

Ryan McCann (1):
      drm/msm: Update dev core dump to not print backwards

Ryder Lee (1):
      wifi: mt76: mt7915: fix power-limits while chan_switch

Sabrina Dubroca (1):
      Revert "net: macsec: preserve ingress frame ordering"

Saeed Mahameed (1):
      net/mlx5: Free IRQ rmap and notifier on kernel shutdown

Sagar Biradar (1):
      scsi: aacraid: Reply queue mapping to CPUs based on IRQ affinity

Sakari Ailus (3):
      media: i2c: ccs: Check rules is non-NULL
      media: i2c: Add a camera sensor top level menu
      media: pci: ipu3-cio2: Initialise timing struct to avoid a compiler warning

Saravana Kannan (2):
      of: property: Simplify of_link_to_phandle()
      clk: Mark a fwnode as initialized when using CLK_OF_DECLARE() macro

Sascha Hauer (1):
      net: macb: fix sleep inside spinlock

Sean Christopherson (12):
      KVM: x86/mmu: Add "never" option to allow sticky disabling of nx_huge_pages
      x86/virt: Drop unnecessary check on extended CPUID level in cpu_has_svm()
      drm/i915/gvt: Verify pfn is "valid" before dereferencing "struct page"
      drm/i915/gvt: Put the page reference obtained by KVM's gfn_to_pfn()
      drm/i915/gvt: Drop unused helper intel_vgpu_reset_gtt()
      KVM: SVM: Take and hold ir_list_lock when updating vCPU's Physical ID entry
      KVM: SVM: Don't inject #UD if KVM attempts to skip SEV guest insn
      KVM: SVM: Get source vCPUs from source VM for SEV-ES intrahost migration
      KVM: nSVM: Check instead of asserting on nested TSC scaling support
      KVM: nSVM: Load L1's TSC multiplier based on L1 state, not L2 state
      KVM: SVM: Set target pCPU during IRTE update if target vCPU is running
      KVM: SVM: Skip VMSA init in sev_es_init_vmcb() if pointer is NULL

Sebastian Andrzej Siewior (2):
      bpf: Invoke __bpf_prog_exit_sleepable_recur() on recursion in kern_sys_bpf().
      bpf: Assign bpf_tramp_run_ctx::saved_run_ctx before recursion check.

Sheetal (1):
      ASoC: tegra: Fix SFC conversion for few rates

Shen Jiamin (1):
      tools/resolve_btfids: Use pkg-config to locate libelf

Shida Zhang (1):
      ext4: fix rec_len verify error

Shigeru Yoshida (2):
      kcm: Destroy mutex in kcm_exit_net()
      kcm: Fix memory leak in error path of kcm_sendmsg()

Shih-Yi Chen (1):
      platform/mellanox: Fix mlxbf-tmfifo not handling all virtio CONSOLE notifications

Shravan Kumar Ramani (2):
      platform/mellanox: mlxbf-pmc: Fix potential buffer overflows
      platform/mellanox: mlxbf-pmc: Fix reading of unprogrammed events

Shuming Fan (3):
      ASoC: rt5682-sdw: fix for JD event handling in ClockStop Mode0
      ASoC: rt711: fix for JD event handling in ClockStop Mode0
      ASoC: rt711-sdca: fix for JD event handling in ClockStop Mode0

Shyam Prasad N (2):
      cifs: fix sockaddr comparison in iface_cmp
      cifs: fix max_credits implementation

Song Liu (1):
      x86/purgatory: Remove LTO flags

Song Shuai (1):
      riscv: kexec: Align the kexeced kernel entry

Sourabh Jain (1):
      powerpc/fadump: reset dump area size if fadump memory reserve fails

Srinivasan Shanmugam (1):
      drm/amdgpu: Update min() to min_t() in 'amdgpu_info_ioctl'

Sriram Yagnaraman (2):
      ipv4: ignore dst hint for multipath routes
      ipv6: ignore dst hint for multipath routes

Stefan Haberland (2):
      s390/dasd: use correct number of retries for ERP requests
      s390/dasd: fix hanging device after request requeue

Stefan Hajnoczi (1):
      vfio/type1: fix cap_migration information leak

Steve French (1):
      send channel sequence number in SMB3 requests after reconnects

Steve Rutherford (1):
      x86/sev: Make enc_dec_hypercall() accept a size instead of npages

Steven Rostedt (Google) (6):
      tracing: Have tracing_max_latency inc the trace array ref count
      tracing: Have event inject files inc the trace array ref count
      tracing: Increase trace array ref count on enable and filter files
      tracing: Have current_trace inc the trace array ref count
      tracing: Have option files inc the trace array ref count
      tracefs: Add missing lockdown check to tracefs_create_dir()

Su Hui (2):
      ALSA: ac97: Fix possible error value of *rac97
      fs: lockd: avoid possible wrong NULL parameter

Sui Jingfeng (2):
      drm/hyperv: Fix a compilation issue because of not including screen_info.h
      drm/mediatek: Fix potential memory leak if vmap() fail

Suman Ghosh (2):
      octeontx2-pf: Fix PFC TX scheduler free
      cteonxt2-pf: Fix backpressure config for multiple PFC priorities to work simultaneously

Sven Peter (1):
      PCI: apple: Initialize pcie->nvecs before use

Sven Schnelle (1):
      s390/ipl: add missing secure/has_secure file to ipl type 'unknown'

Swapnil Sapkal (2):
      cpufreq: amd-pstate-ut: Remove module parameter access
      cpufreq: amd-pstate-ut: Fix kernel panic when loading the driver

Szuying Chen (1):
      ata: libahci: clear pending interrupt status

Takashi Iwai (3):
      ALSA: usb-audio: Add quirk for Microsoft Modern Wireless Headset
      ALSA: seq: oss: Fix racy open/close of MIDI devices
      ALSA: pcm: Fix missing fixup call in compat hw_refine ioctl

Thomas Bourgoin (1):
      crypto: stm32 - fix loop iterating through scatterlist for DMA

Thomas Gleixner (1):
      cpu/hotplug: Prevent self deadlock on CPU hot-unplug

Thomas Zimmermann (5):
      backlight/gpio_backlight: Compare against struct fb_info.device
      backlight/bd6107: Compare against struct fb_info.device
      backlight/lv5207lp: Compare against struct fb_info.device
      fbdev/ep93xx-fb: Do not assign to struct fb_info.dev
      drm/ast: Fix DRAM init on AST2200

Thore Sommer (1):
      X.509: if signature is unsupported skip validation

Tiezhu Yang (1):
      MIPS: Use "grep -E" instead of "egrep"

Tom Rix (1):
      udf: initialize newblock to 0

Tomislav Novak (1):
      hw_breakpoint: fix single-stepping when using bpf_overflow_handler

Tommy Huang (1):
      i2c: aspeed: Reset the i2c controller when timeout occurs

Tony Battersby (1):
      scsi: core: Use 32-bit hostnum in scsi_host_lookup()

Tony Lindgren (3):
      bus: ti-sysc: Fix build warning for 64-bit build
      bus: ti-sysc: Fix cast to enum warning
      bus: ti-sysc: Configure uart quirks for k3 SoC

Trond Myklebust (2):
      NFS: Fix a potential data corruption
      Revert "SUNRPC: Fail faster on bad verifier"

Tuo Li (1):
      drm/exynos: fix a possible null-pointer dereference due to data race in exynos_drm_crtc_atomic_disable()

Tzung-Bi Shih (1):
      platform/chrome: chromeos_acpi: print hex string for ACPI_TYPE_BUFFER

Uday M Bhat (1):
      ASoC: Intel: sof_sdw: Update BT offload config for soundwire config

Uwe Kleine-König (4):
      crypto: stm32 - Properly handle pm_runtime_get failing
      pwm: atmel-tcb: Convert to platform remove callback returning void
      pwm: atmel-tcb: Harmonize resource allocation order
      pwm: atmel-tcb: Fix resource freeing in error path and remove

Vadim Fedorenko (1):
      ixgbe: fix timestamp configuration code

Vadim Pasternak (3):
      mlxsw: i2c: Fix chunk size setting in output mailbox buffer
      mlxsw: i2c: Limit single transaction buffer size
      mlxsw: core_hwmon: Adjust module label names based on MTCAP sensor counter

Varun Prakash (1):
      nvmet-tcp: pass iov_len instead of sg->length to bvec_set_page()

Vidya Sagar (1):
      Revert "PCI: tegra194: Enable support for 256 Byte payload"

Vijendar Mukunda (1):
      ASoC: SOF: amd: clear dsp to host interrupt status

Viktor Malik (1):
      tools/resolve_btfids: Fix setting HOSTCFLAGS

Vincent Guittot (1):
      arm64: dts: qcom: sm8250: correct dynamic power coefficients

Vincent Whitchurch (1):
      net: stmmac: fix handling of zero coalescing tx-usecs

Vitaly Rodionov (1):
      ALSA: hda/cirrus: Fix broken audio on hardware with two CS42L42 codecs.

Vlad Karpovich (1):
      firmware: cs_dsp: Fix new control name check

Vladimir Oltean (8):
      net: dsa: sja1105: fix bandwidth discrepancy between tc-cbs software and offload
      net: dsa: sja1105: fix -ENOSPC when replacing the same tc-cbs too many times
      net: dsa: sja1105: complete tc-cbs offload support on SJA1110
      net: dsa: sja1105: hide all multicast addresses from "bridge fdb show"
      net: dsa: sja1105: propagate exact error code from sja1105_dynamic_config_poll_valid()
      net: dsa: sja1105: fix multicast forwarding working only for last added mdb entry
      net: dsa: sja1105: serialize sja1105_port_mcast_flood() with other FDB accesses
      net: dsa: sja1105: block FDB accesses that are concurrent with a switch reset

Vladimir Zapolskiy (1):
      pwm: lpc32xx: Remove handling of PWM channels

Vladislav Efanov (1):
      udf: Check consistency of Space Bitmap Descriptor

Waiman Long (2):
      refscale: Fix uninitalized use of wait_queue_head_t
      cgroup/cpuset: Inherit parent's load balance state in v2

Walter Chang (1):
      clocksource/drivers/arm_arch_timer: Disable timer before programming CVAL

Wander Lairson Costa (4):
      netfilter: xt_u32: validate user space input
      netfilter: xt_sctp: validate the flag_info count
      netfilter: nfnetlink_osf: avoid OOB read
      kernel/fork: beware of __put_task_struct() calling context

Wang Jianjian (1):
      ext4: add correct group descriptors and reserved GDT blocks to system zone

Wang Ming (3):
      platform/x86: think-lmi: Use kfree_sensitive instead of kfree
      fs: Fix error checking for d_hash_and_lookup()
      wifi: ath9k: use IS_ERR() with debugfs_create_dir()

Wen Yang (1):
      eventfd: prevent underflow for eventfd semaphores

Wenchao Hao (1):
      scsi: iscsi: Rename iscsi_set_param() to iscsi_if_set_param()

Wenjing Liu (1):
      drm/amd/display: always switch off ODM before committing more streams

Werner Fischer (1):
      ata: ahci: Add Elkhart Lake AHCI controller

Werner Sembach (1):
      Input: i8042 - add quirk for TUXEDO Gemini 17 Gen1/Clevo PD70PN

Wesley Chalmers (2):
      drm/amd/display: Do not set drr on pipe commit
      drm/amd/display: Fix a bug when searching for insert_above_mpcc

Will Deacon (1):
      arm64: csum: Fix OoB access in IP checksum code for negative lengths

Will Shiu (1):
      locks: fix KASAN: use-after-free in trace_event_raw_event_filelock_lock

William Zhang (5):
      mtd: rawnand: brcmnand: Fix mtd oobsize
      mtd: rawnand: brcmnand: Fix crash during the panic_write
      mtd: rawnand: brcmnand: Fix potential out-of-bounds access in oob write
      mtd: rawnand: brcmnand: Fix potential false time out warning
      mtd: rawnand: brcmnand: Fix ECC level field setting for v7.2 controller

Winston Wen (1):
      fs/nls: make load_nls() take a const parameter

Wojciech Drewek (1):
      ice: Don't tx before switchdev is fully configured

Wolfram Sang (1):
      mmc: renesas_sdhi: register irqs before registering controller

Wu Zongyong (1):
      PCI: Mark NVIDIA T4 GPUs to avoid bus reset

Xiang Yang (1):
      IB/uverbs: Fix an potential error pointer dereference

Xiao Liang (1):
      netfilter: nft_exthdr: Fix non-linear header modification

Xiao Ni (3):
      md: Factor out is_md_suspended helper
      md: Change active_io to percpu
      md: Free resources in __md_stop

Xiaolei Wang (2):
      ARM: dts: imx: Set default tuning step for imx7d usdhc
      usb: cdns3: Put the cdns set active part outside the spin lock

Xingui Yang (2):
      scsi: hisi_sas: Fix warnings detected by sparse
      scsi: hisi_sas: Fix normally completed I/O analysed as failed

Xu Yang (5):
      perf/imx_ddr: don't enable counter0 if none of 4 counters are used
      usb: phy: mxs: fix getting wrong state with mxs_phy_is_otg_host()
      perf/imx_ddr: speed up overflow frequency of cycle
      usb: ehci: add workaround for chipidea PORTSC.PEC bug
      usb: chipidea: add workaround for chipidea PEC bug

Yafang Shao (3):
      bpf: Clear the probe_addr for uprobe
      bpf: Fix an error in verifying a field in a union
      bpf: Fix issue in verifying allow_ptr_leaks

Yan Zhai (2):
      lwt: Fix return values of BPF xmit ops
      lwt: Check LWTUNNEL_XMIT_CONTINUE strictly

Yanfei Xu (1):
      iommu/vt-d: Fix to flush cache of PASID directory table

Yang Li (1):
      platform/x86/amd/pmf: Fix unsigned comparison with less than zero

Yang Wang (1):
      drm/amd/pm: fix variable dereferenced issue in amdgpu_device_attr_create()

Yang Yingliang (1):
      net: ethernet: adi: adin1110: use eth_broadcast_addr() to assign broadcast address

Yangtao Li (2):
      drm/tegra: dpaux: Fix incorrect return value of platform_get_irq
      f2fs: judge whether discard_unit is section only when have CONFIG_BLK_DEV_ZONED

Yazen Ghannam (1):
      x86/MCE: Always save CS register on AMD Zen IF Poison errors

Ye Li (1):
      clk: imx: pllv4: Fix SPLL2 MULT range

Yi Liu (1):
      kvm/vfio: Prepare for accepting vfio device fd

Yi Yang (3):
      serial: tegra: handle clk prepare error in tegra_uart_hw_init()
      mtd: rawnand: fsmc: handle clk prepare error in fsmc_nand_resume()
      ipmi_si: fix a memleak in try_smi_init()

Yicong Yang (1):
      perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09

Yifan Zhang (1):
      drm/amd/display: fix the white screen issue when >= 64GB DRAM

Ying Hsu (1):
      Bluetooth: Fix hci_suspend_sync crash

Ying Liu (1):
      backlight: gpio_backlight: Drop output GPIO direction check for initial power state

Yipeng Zou (2):
      selftests/bpf: Fix repeat option when kfunc_call verification fails
      selftests/bpf: Clean up fmod_ret in bench_rename test script

Yisen Zhuang (1):
      net: hns3: fix the port information display when sfp is absent

Yonatan Nachum (1):
      RDMA/efa: Fix wrong resources deallocation order

Yong Wu (1):
      iommu/mediatek: Remove unused "mapping" member from mtk_iommu_data

Yong-Xuan Wang (1):
      PCI: fu740: Set the number of MSI vectors

Yu Kuai (8):
      md: restore 'noio_flag' for the last mddev_resume()
      md/md-bitmap: remove unnecessary local variable in backlog_store()
      md/md-bitmap: hold 'reconfig_mutex' in backlog_store()
      md/raid5-cache: fix a deadlock in r5l_exit_log()
      md/raid5-cache: fix null-ptr-deref for r5l_flush_stripe_to_raid()
      md: fix regression for null-ptr-deference in __md_stop()
      blk-throttle: use calculate_io/bytes_allowed() for throtl_trim_slice()
      blk-throttle: consider 'carryover_ios/bytes' in throtl_trim_slice()

Yu Zhao (1):
      mm: multi-gen LRU: rename lrugen->lists[] to lrugen->folios[]

Yuan Yao (1):
      virtio_ring: fix avail_wrap_counter in virtqueue_add_packed

Yuanjun Gong (2):
      ethernet: atheros: fix return value check in atl1c_tso_csum()
      Bluetooth: nokia: fix value check in nokia_bluetooth_serdev_probe()

Zeyan Li (1):
      arm64: dts: qcom: sm8150: Fix the I2C7 interrupt

Zhang Jianhua (1):
      clk: sunxi-ng: Modify mismatched function name

Zhang Shurong (10):
      wifi: rtw89: debug: Fix error handling in rtw89_debug_priv_btc_manual_set()
      spi: tegra20-sflash: fix to check return value of platform_get_irq() in tegra_sflash_probe()
      firmware: meson_sm: fix to avoid potential NULL pointer dereference
      md: raid1: fix potential OOB in raid1_remove_disk()
      media: dvb-usb-v2: af9035: Fix null-ptr-deref in af9035_i2c_master_xfer
      media: dw2102: Fix null-ptr-deref in dw2102_i2c_transfer()
      media: af9005: Fix null-ptr-deref in af9005_i2c_xfer
      media: anysee: fix null-ptr-deref in anysee_master_xfer
      media: az6007: Fix null-ptr-deref in az6007_i2c_xfer()
      media: dvb-usb-v2: gl861: Fix null-ptr-deref in gl861_i2c_master_xfer

Zhang Yi (2):
      jbd2: fix checkpoint cleanup performance regression
      jbd2: correct the end of the journal recovery scan range

Zhangjin Wu (1):
      selftests/nolibc: fix up kernel parameters support

Zhen Lei (1):
      kobject: Add sanity check for kset->kobj.ktype in kset_register()

Zheng Wang (1):
      media: mtk-jpeg: Fix use after free bug due to uncanceled work

Zheng Yang (1):
      phy/rockchip: inno-hdmi: round fractal pixclock in rk3328 recalc_rate

Zheng Yejian (2):
      tracing: Introduce pipe_cpumask to avoid race on trace_pipes
      tracing: Fix race issue between cpu buffer write and swap

Zhiguo Niu (1):
      block/mq-deadline: use correct way to throttling write requests

Zhihao Cheng (2):
      ext4: fix unttached inode after power cut with orphan file feature enabled
      jbd2: check 'jh->b_transaction' before removing it from checkpoint

Ziyang Xuan (1):
      hsr: Fix uninit-value access in fill_frame_info()

Zqiang (2):
      rcu: dump vmalloc memory info safely
      rcuscale: Move rcu_scale_writer() schedule_timeout_uninterruptible() to _idle()

ruanjinjie (2):
      dmaengine: ste_dma40: Add missing IRQ check in d40_probe
      powerpc/pseries: fix possible memory leak in ibmebus_bus_init()

ruanmeisi (1):
      fuse: nlookup missing decrement in fuse_direntplus_link

valis (1):
      net: sched: sch_qfq: Fix UAF in qfq_dequeue()

xu xin (1):
      net/ipv4: return the real errno instead of -EINVAL

BUG=b/301809051
TEST=tryjob, validation and K8s e2e
RELEASE_NOTE=Updated the Linux kernel to v6.1.55.

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