Skip to content

Conversation

@opsiff
Copy link
Member

@opsiff opsiff commented Jan 4, 2026

Update kernel base to 6.18.3.

git log --oneline v6.18.2..v6.18.3 | wc
431 3864 31220

Aboorva Devarajan (1):
cpuidle: menu: Use residency threshold in polling state override
decisions

Al Viro (2):
shmem: fix recovery on rename failures
functionfs: fix the open/removal races

Alex Deucher (2):
drm/amdgpu: fix a job->pasid access race in gpu recovery
drm/amd/display: Use GFP_ATOMIC in dc_create_plane_state()

Alexander Stein (1):
serial: core: Fix serial device initialization

Alexey Minnekhanov (1):
dt-bindings: clock: mmcc-sdm660: Add missing MDSS reset

Alexey Simakov (2):
broadcom: b44: prevent uninitialized value usage
hwmon: (tmp401) fix overflow caused by default conversion rate value

Alexey Velichayshiy (1):
gfs2: fix freeze error handling

Alice Ryhl (4):
rust_binder: avoid mem::take on delivered_deaths
rust: io: define ResourceSize as resource_size_t
rust: io: move ResourceSize to top-level io module
rust: io: add typedef for phys_addr_t

Alison Schofield (1):
tools/testing/nvdimm: Use per-DIMM device handle

Alok Tiwari (1):
drm/msm/a6xx: move preempt_prepare_postamble after error check

Amir Goldstein (1):
fsnotify: do not generate ACCESS/MODIFY events on child for special
files

Andreas Gruenbacher (3):
gfs2: fix remote evict for read-only filesystems
gfs2: Fix "gfs2: Switch to wait_event in gfs2_quotad"
gfs2: Fix use of bio_chain

Andrew Jeffery (1):
dt-bindings: mmc: sdhci-of-aspeed: Switch ref to sdhci-common.yaml

Andrey Vatoropin (1):
scsi: target: Reset t_task_cdb pointer in error case

André Draszik (1):
phy: exynos5-usbdrd: fix clock prepare imbalance

Andy Shevchenko (2):
serial: core: Restore sysfs fwnode information
nfsd: Mark variable __maybe_unused to avoid W=1 build break

Antheas Kapenekakis (1):
ALSA: hda/realtek: Add Asus quirk for TAS amplifiers

Anurag Dutta (1):
spi: cadence-quadspi: Fix clock disable on probe failure path

Ard Biesheuvel (1):
efi: Add missing static initializer for efi_mm::cpus_allowed_lock

Armin Wolf (1):
ACPI: fan: Workaround for 64-bit firmware bug

Arnd Bergmann (3):
net: ti: icssg-prueth: add PTP_1588_CLOCK_OPTIONAL dependency
drm/xe: fix drm_gpusvm_init() arguments
usb: typec: ucsi: huawei-gaokin: add DRM dependency

Ashutosh Dixit (1):
drm/xe/oa: Always set OAG_OAGLBCTXCTRL_COUNTER_RESUME

Askar Safin (1):
gpiolib: acpi: Add quirk for Dell Precision 7780

Avadhut Naik (1):
x86/mce: Do not clear bank's poll bit in mce_poll_banks on AMD SMCA
systems

Baokun Li (1):
ext4: align max orphan file size with e2fsprogs limit

Bart Van Assche (1):
block: Remove queue freezing from several sysfs store callbacks

Bartosz Golaszewski (1):
platform/x86: intel: chtwc_int33fe: don't dereference swnode args

Ben Collins (1):
powerpc/addnote: Fix overflow on 32-bit builds

Bernd Schubert (2):
fuse: Always flush the page cache before FOPEN_DIRECT_IO write
fuse: Invalidate the page cache after FOPEN_DIRECT_IO write

Biju Das (1):
pwm: rzg2l-gpt: Allow checking period_tick cache value only if sibling
channel is enabled

Bitterblue Smith (1):
wifi: rtl8xxxu: Fix HT40 channel config for RTL8192CU, RTL8723AU

Byungchul Park (1):
jbd2: use a weaker annotation in journal handling

Caleb Sander Mateos (1):
ublk: clean up user copy references on ublk server exit

Chancel Liu (1):
ASoC: fsl_sai: Constrain sample rates from audio PLLs only in master
mode

Chandrakanth Patil (1):
scsi: mpi3mr: Read missing IOCFacts flag for reply queue full overflow

Chao Yu (8):
f2fs: fix to avoid updating compression context during writeback
f2fs: fix to avoid potential deadlock
f2fs: fix to propagate error from f2fs_enable_checkpoint()
f2fs: fix to avoid updating zero-sized extent in extent cache
f2fs: use global inline_xattr_slab instead of per-sb slab cache
f2fs: fix to detect recoverable inode during dryrun of
find_fsync_dnodes()
f2fs: fix to not account invalid blocks in get_left_section_blocks()
f2fs: fix return value of f2fs_recover_fsync_data()

Charles Mirabile (1):
lib/crypto: riscv: Add poly1305-core.S to .gitignore

Chen Changcheng (2):
usb: usb-storage: No additional quirks need to be added to the EL-R12
optical drive.
usb: usb-storage: Maintain minimal modifications to the bcdDevice
range.

ChenXiaoSong (1):
smb/server: fix return value of smb2_ioctl()

Cheng Ding (1):
fuse: missing copy_finish in fuse-over-io-uring argument copies

Chia-Lin Kao (AceLan) (1):
platform/x86/intel/hid: Add Dell Pro Rugged 10/12 tablet to VGBS DMI
quirks

Chingbin Li (1):
Bluetooth: btusb: Add new VID/PID 2b89/6275 for RTL8761BUV

Chris Lu (2):
Bluetooth: btusb: MT7922: Add VID/PID 0489/e170
Bluetooth: btusb: MT7920: Add VID/PID 0489/e135

Christoffer Sandberg (1):
Input: i8042 - add TUXEDO InfinityBook Max Gen10 AMD to i8042 quirk
table

Christoph Hellwig (3):
xfs: don't leak a locked dquot when xfs_dquot_attach_buf fails
xfs: fix the zoned RT growfs check for zone alignment
xfs: validate that zoned RT devices are zone aligned

Christophe JAILLET (1):
spi: mpfs: Fix an error handling path in mpfs_spi_probe()

Christophe Leroy (1):
spi: fsl-cpm: Check length parity before switching to 16 bit mode

Chuck Lever (3):
NFSD: Clear SECLABEL in the suppattr_exclcreat bitmap
NFSD: NFSv4 file creation neglects setting ACL
NFSD: Clear TIME_DELEG in the suppattr_exclcreat bitmap

Claudiu Beznea (2):
serial: sh-sci: Check that the DMA cookie is valid
pinctrl: renesas: rzg2l: Fix ISEL restore on resume

Colin Ian King (1):
media: pvrusb2: Fix incorrect variable used in trace message

Cosmin Ratiu (2):
net/mlx5e: Avoid unregistering PSP twice
net/mlx5e: Don't include PSP in the hard MTU calculations

Cryolitia PukNgae (1):
ACPICA: Avoid walking the Namespace if start_node is NULL

Dai Ngo (1):
NFSD: use correct reservation type in nfsd4_scsi_fence_client

Damien Le Moal (3):
zloop: fail zone append operations that are targeting full zones
zloop: make the write pointer of full zones invalid
block: freeze queue when updating zone resources

Dan Carpenter (2):
nfc: pn533: Fix error code in pn533_acr122_poweron_rdr()
block: rnbd-clt: Fix signedness bug in init_dev()

Daniel Wagner (1):
nvme-fc: don't hold rport lock when putting ctrl

Darrick J. Wong (2):
xfs: fix stupid compiler warning
xfs: fix a UAF problem in xattr repair

David Strahan (1):
scsi: smartpqi: Add support for Hurray Data new controller PCI device

Deepanshu Kartikey (3):
btrfs: fix memory leak of fs_devices in degraded seed device path
f2fs: invalidate dentry cache on failed whiteout creation
mm/slub: reset KASAN tag in defer_free() before accessing freed memory

Denis Sergeev (1):
hwmon: (dell-smm) Limit fan multiplier to avoid overflow

Derek J. Clark (1):
platform/x86: wmi-gamezone: Add Legion Go 2 Quirks

Dmitry Skorodumov (1):
ipvlan: Ignore PACKET_LOOPBACK in handle_mode_l2()

Dongli Zhang (1):
KVM: nVMX: Immediately refresh APICv controls as needed on nested
VM-Exit

Dongsheng Yang (1):
dm-pcache: advance slot index before writing slot

Doug Berger (1):
sched/deadline: only set free_cpus for online runqueues

Duoming Zhou (2):
Input: alps - fix use-after-free bugs caused by dev3_register_work
usb: phy: fsl-usb: Fix use-after-free in delayed work during device
removal

Encrow Thorne (1):
reset: fix BIT macro reference

Eric Biggers (4):
lib/crypto: x86/blake2s: Fix 32-bit arg treated as 64-bit
crypto: scatterwalk - Fix memcpy_sglist() to always succeed
crypto: arm64/ghash - Fix incorrect output from ghash-neon
lib/crypto: riscv: Depend on RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS

FUJITA Tomonori (1):
rust: dma: add helpers for architectures without CONFIG_HAS_DMA

Fedor Pchelkin (2):
ext4: fix string copying in parse_apply_sb_mount_options()
ext4: check if mount_opts is NUL-terminated in
ext4_ioctl_set_tune_sb()

Fernando Fernandez Mancera (1):
netfilter: nf_conncount: fix leaked ct in error paths

Filipe Manana (3):
btrfs: do not skip logging new dentries when logging a new name
btrfs: fix changeset leak on mmap write after failure to reserve
metadata
btrfs: don't log conflicting inode if it's a dir moved in the current
transaction

Finn Thain (1):
powerpc: Add reloc_offset() to font bitmap pointer used for
bootx_printf()

Florian Westphal (3):
selftests: netfilter: prefer xfail in case race wasn't triggered
netfilter: nf_nat: remove bogus direction check
selftests: netfilter: packetdrill: avoid failure on HZ=100 kernel

Gal Pressman (1):
ethtool: Avoid overflowing userspace buffer on stats query

Gavin Shan (1):
KVM: selftests: Add missing "break" in rseq_test's param parsing

George Kennedy (1):
perf/x86/amd: Check event before enable to avoid GPF

Gerd Bayer (1):
net/mlx5: Fix double unregister of HCA_PORTS component

Gongwei Li (1):
Bluetooth: btusb: Add new VID/PID 13d3/3533 for RTL8821CE

Greg Kroah-Hartman (1):
Linux 6.18.3

Gregory CLEMENT (1):
MIPS: ftrace: Fix memory corruption when kernel is located beyond 32
bits

Guangshuo Li (1):
crypto: caam - Add check for kcalloc() in test_len()

Guenter Roeck (3):
selftest: af_unix: Support compilers without
flex-array-member-not-at-end support
selftests: net: Fix build warnings
selftests: net: tfo: Fix build warning

Gui-Dong Han (3):
hwmon: (max16065) Use local variable to avoid TOCTOU
hwmon: (w83791d) Convert macros to functions to avoid TOCTOU
hwmon: (w83l786ng) Convert macros to functions to avoid TOCTOU

Haibo Chen (1):
ext4: clear i_state_flags when alloc inode

Hal Feng (1):
cpufreq: dt-platdev: Add JH7110S SOC to the allowlist

Hans de Goede (2):
wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet
dma-mapping: Fix DMA_BIT_MASK() macro being broken

Haotian Zhang (2):
ALSA: vxpocket: Fix resource leak in vxpocket_probe error path
ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path

Haoxiang Li (4):
MIPS: Fix a reference leak bug in ip22_check_gio()
usb: typec: altmodes/displayport: Drop the device reference in
dp_altmode_probe()
usb: renesas_usbhs: Fix a resource leak in usbhs_pipe_malloc()
xfs: fix a memory leak in xfs_buf_item_init()

Harry Yoo (1):
mm/slab: introduce kvfree_rcu_barrier_on_cache() for cache destruction

Helge Deller (1):
parisc: Do not reprogram affinitiy on ASP chip

Hongyu Xie (1):
usb: xhci: limit run_graceperiod for only usb 3.0 devices

Ian Rogers (1):
libperf cpumap: Fix perf_cpu_map__max for an empty/NULL map

Ido Schimmel (3):
mlxsw: spectrum_router: Fix possible neighbour reference count leak
mlxsw: spectrum_router: Fix neighbour use-after-free
mlxsw: spectrum_mr: Fix use-after-free when updating multicast route
stats

Ilya Dryomov (1):
libceph: make decode_pool() more resilient against corrupted osdmaps

Ilya Maximets (1):
net: openvswitch: fix middle attribute validation in push_nsh() action

Ivan Galkin (1):
net: phy: RTL8211FVD: Restore disabling of PHY-mode EEE

Jagmeet Randhawa (1):
drm/xe: Increase TDF timeout

Jakub Kicinski (3):
inet: frags: avoid theoretical race in ip_frag_reinit()
inet: frags: add inet_frag_queue_flush()
inet: frags: flush pending skbs in fqdir_pre_exit()

Jamal Hadi Salim (1):
net/sched: ets: Always remove class from active list before deleting
in ets_qdisc_change

Jan Maslak (1):
drm/xe: Restore engine registers before restarting schedulers after GT
reset

Jan Prusakowski (1):
f2fs: ensure node page reads complete before f2fs_put_super() finishes

Jani Nikula (1):
drm/displayid: pass iter to drm_find_displayid_extension()

Jared Kangas (1):
mmc: sdhci-esdhc-imx: add alternate ARCH_S32 dependency to Kconfig

Jarkko Sakkinen (4):
KEYS: trusted: Fix a memory leak in tpm2_load_cmd
tpm: Cap the number of PCR banks
tpm2-sessions: Fix out of range indexing in name_size
tpm2-sessions: Fix tpm2_read_public range checks

Jason Gunthorpe (2):
iommufd/selftest: Make it clearer to gcc that the access is not out of
bounds
iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED

Jens Axboe (2):
io_uring/poll: correctly handle io_poll_add() return value on update
io_uring: fix min_wait wakeups for SQPOLL

Jens Reidel (1):
clk: qcom: dispcc-sm7150: Fix dispcc_mdss_pclk0_clk_src

Jeongjun Park (2):
media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()
media: vidtv: initialize local pointers upon transfer of memory
ownership

Jian Shen (3):
net: hns3: using the num_tqps in the vf driver to apply for resources
net: hns3: using the num_tqps to check whether tqp_index is out of
range when vf get ring info from mbx
net: hns3: add VLAN id validation before using

Jianbo Liu (2):
net/mlx5e: Use ip6_dst_lookup instead of ipv6_dst_lookup_flow for MAC
init
net/mlx5e: Trigger neighbor resolution for unresolved destinations

Jianpeng Chang (1):
arm64: kdump: Fix elfcorehdr overlap caused by reserved memory
processing reorder

Jim Mattson (2):
KVM: SVM: Mark VMCB_NPT as dirty on nested VMRUN
KVM: SVM: Mark VMCB_PERM_MAP as dirty on nested VMRUN

Jinhui Guo (3):
ipmi: Fix the race between __scan_channels() and deliver_response()
ipmi: Fix __scan_channels() failing to rescan channels
i2c: designware: Disable SMBus interrupts to prevent storms from
mis-configured firmware

Joanne Koong (5):
iomap: adjust read range correctly for non-block-aligned positions
iomap: account for unaligned end offsets when truncating read range
io_uring/rsrc: fix lost entries after cloned range
fuse: fix io-uring list corruption for terminated non-committed
requests
fuse: fix readahead reclaim deadlock

Johan Hovold (13):
clk: keystone: syscon-clk: fix regmap leak on probe failure
phy: broadcom: bcm63xx-usbh: fix section mismatches
usb: ohci-nxp: fix device leak on probe failure
usb: phy: isp1301: fix non-OF device reference imbalance
usb: gadget: lpc32xx_udc: fix clock imbalance in error path
amba: tegra-ahb: Fix device leak on SMMU enable
soc: samsung: exynos-pmu: fix device leak on regmap lookup
soc: qcom: pbs: fix device leak on lookup
soc: qcom: ocmem: fix device leak on lookup
soc: apple: mailbox: fix device leak on lookup
soc: amlogic: canvas: fix device leak on lookup
hwmon: (max6697) fix regmap leak on probe failure
iommu/mediatek: fix use-after-free on probe deferral

Johannes Berg (3):
wifi: cfg80211: stop radar detection in cfg80211_leave()
wifi: cfg80211: use cfg80211_leave() in iftype change
um: init cpu_tasks[] earlier

John Garry (1):
scsi: scsi_debug: Fix atomic write enable module param description

John Ogness (3):
printk: Avoid scheduling irq_work on suspend
printk: Allow printk_trigger_flush() to flush all types
printk: Avoid irq_work for printk_deferred() on suspend

Josef Bacik (1):
btrfs: don't rewrite ret from inode_permission

Joshua Rogers (4):
svcrdma: bound check rq_pages index in inline path
svcrdma: return 0 on success from svc_rdma_copy_inline_range
svcrdma: use rc_pageoff for memcpy byte offset
SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in
gss_read_proxy_verf

Josua Mayer (1):
clk: mvebu: cp110 add CLK_IGNORE_UNUSED to pcie_x10, pcie_x11 &
pcie_x4

José Expósito (3):
drm/tests: hdmi: Handle drm_kunit_helper_enable_crtc_connector()
returning EDEADLK
drm/tests: Handle EDEADLK in drm_test_check_valid_clones()
drm/tests: Handle EDEADLK in set_up_atomic_state()

Juergen Gross (1):
x86/xen: Fix sparse warning in enlighten_pv.c

Junjie Cao (1):
Input: ti_am335x_tsc - fix off-by-one error in wire_order validation

Junrui Luo (3):
caif: fix integer underflow in cffrml_receive()
hwmon: (ibmpex) fix use-after-free in high/low store
scsi: aic94xx: fix use-after-free in device removal path

Junxiao Chang (2):
drm/me/gsc: mei interrupt top half should be in irq disabled context
mei: gsc: add dependency on Xe driver

Justin Tee (2):
scsi: lpfc: Fix reusing an ndlp that is marked NLP_DROPPED during
FLOGI
nvme-fabrics: add ENOKEY to no retry criteria for authentication
failures

Karina Yankevich (1):
ext4: xattr: fix null pointer deref in ext4_raw_inode()

Kartik Rajput (1):
soc/tegra: fuse: Do not register SoC device on ACPI boot

Konstantin Komarov (3):
fs/ntfs3: Support timestamps prior to epoch
fs/ntfs3: check for shutdown in fsync
fs/ntfs3: fix mount failure for sparse runs in run_unpack()

Krzysztof Kozlowski (7):
dt-bindings: PCI: qcom,pcie-sc7280: Add missing required power-domains
and resets
dt-bindings: PCI: qcom,pcie-sc8280xp: Add missing required
power-domains and resets
dt-bindings: PCI: qcom,pcie-sm8150: Add missing required power-domains
and resets
dt-bindings: PCI: qcom,pcie-sm8250: Add missing required power-domains
and resets
dt-bindings: PCI: qcom,pcie-sm8350: Add missing required power-domains
and resets
dt-bindings: PCI: qcom,pcie-sm8450: Add missing required power-domains
and resets
dt-bindings: PCI: qcom,pcie-sm8550: Add missing required power-domains
and resets

Laurent Pinchart (1):
media: v4l2-mem2mem: Fix outdated documentation

Li Chen (1):
block: rate-limit capacity change info log

Li Qiang (1):
via_wdt: fix critical boot hang due to unnamed resource allocation

Lizhi Xu (1):
usbip: Fix locking bug in RT-enabled kernels

Lyude Paul (1):
rust/drm/gem: Fix missing header in Object rustdoc

Ma Ke (5):
perf: arm_cspmu: fix error handling in arm_cspmu_impl_unregister()
USB: lpc32xx_udc: Fix error handling in probe
intel_th: Fix error handling in intel_th_output_open
mei: Fix error handling in mei_register
i2c: amd-mp2: fix reference leak in MP2 PCI device

Marc Kleine-Budde (1):
can: gs_usb: gs_can_open(): fix error handling

Marijn Suijten (1):
drm/panel: sony-td4353-jdi: Enable prepare_prev_first

Mario Limonciello (1):
Revert "drm/amd/display: Fix pbn to kbps Conversion"

Mario Limonciello (AMD) (1):
crypto: ccp - Add support for PCI device 0x115A

Mark Brown (1):
arm64/gcs: Flush the GCS locking state on exec

Mark Pearson (1):
usb: typec: ucsi: Handle incorrect num_connectors capability

Marko Turk (1):
samples: rust: fix endianness issue in rust_driver_pci

Matthias Schiffer (1):
ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx

Matthieu Baerts (NGI0) (2):
mptcp: pm: ignore unknown endpoint flags
selftests: mptcp: pm: ensure unknown flags are ignored

Mauro Carvalho Chehab (1):
scripts: kdoc_parser.py: warn about Python version only once

Max Chou (1):
Bluetooth: btusb: Add new VID/PID 0x0489/0xE12F for RTL8852BE-VT

Maxim Levitsky (1):
KVM: x86: Don't clear async #PF queue when CR0.PG is disabled (e.g. on
#SMI)

Miaoqian Lin (3):
usb: dwc3: of-simple: fix clock resource leak in dwc3_of_simple_probe
cpufreq: nforce2: fix reference count leak in nforce2
virtio: vdpa: Fix reference count leak in octep_sriov_enable()

Michael Chan (1):
bnxt_en: Fix XDP_TX path

Michal Pecio (1):
usb: xhci: Don't unchain link TRBs on quirky HCs

Mikhail Malyshev (1):
kbuild: Use objtree for module signing key path

Ming Lei (6):
selftests: ublk: fix overflow in ublk_queue_auto_zc_fallback()
block: fix race between wbt_enable_default and IO submission
ublk: add parameter struct io_uring_cmd * to
ublk_prep_auto_buf_reg()
ublk: add union ublk_io_buf with improved naming
ublk: refactor auto buffer register in ublk_dispatch_req()
ublk: fix deadlock when reading partition table

Minseong Kim (1):
Input: lkkbd - disable pending work before freeing device

Moshe Shemesh (3):
net/mlx5: make enable_mpesw idempotent
net/mlx5: fw reset, clear reset requested on drain_fw_reset
net/mlx5: Drain firmware reset in shutdown callback

Namjae Jeon (3):
ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency
ksmbd: Fix refcount leak when invalid session is found on session
lookup
ksmbd: fix buffer validation by including null terminator size in EA
length

Neil Armstrong (1):
drm/msm: adreno: fix deferencing ifpc_reglist when not declared

Nicolas Ferre (3):
ARM: dts: microchip: sama5d2: fix spi flexcom fifo size to 32
ARM: dts: microchip: sama7d65: fix uart fifo size to 32
ARM: dts: microchip: sama7g5: fix uart fifo size to 32

Nilay Shroff (4):
block: unify elevator tags and type xarrays into struct elv_change_ctx
block: move elevator tags into struct elevator_resources
block: introduce alloc_sched_data and free_sched_data elevator methods
block: use {alloc|free}_sched data methods

Nuno Sá (1):
hwmon: (ltc4282): Fix reset_history file permissions

Nysal Jan K.A. (1):
powerpc/kexec: Enable SMT before waking offline CPUs

Ondrej Mosnacek (1):
bpf, arm64: Do not audit capability check in do_jit()

Pablo Neira Ayuso (1):
netfilter: nf_tables: remove redundant chain validation on register
store

Pankaj Raghav (1):
scripts/faddr2line: Fix "Argument list too long" error

Paolo Abeni (2):
mptcp: schedule rtx timer only after pushing data
mptcp: avoid deadlock on fallback while reinjecting

Pedro Demarchi Gomes (1):
ntfs: set dummy blocksize to read boot_block when mounting

Pei Xiao (3):
iio: adc: ti_am335x_adc: Limit step_avg to valid range for gcc
complains
hwmon: (emc2305) fix device node refcount leak in error path
hwmon: (emc2305) fix double put in emc2305_probe_childs_from_dt

Peng Fan (1):
firmware: imx: scu-irq: Init workqueue before request mbox channel

Pengjie Zhang (2):
ACPI: PCC: Fix race condition by removing static qualifier
ACPI: CPPC: Fix missing PCC check for guaranteed_perf

Peter Ujfalusi (2):
ASoC: SOF: ipc4-topology: Prefer 32-bit DMIC blobs for 8-bit formats
as well
ASoC: SOF: ipc4-topology: Convert FLOAT to S32 during blob selection

Peter Wang (1):
scsi: ufs: host: mediatek: Fix shutdown/suspend race condition

Peter Zijlstra (3):
sched/fair: Revert max_newidle_lb_cost bump
x86/ptrace: Always inline trivial accessors
x86/bug: Fix old GCC compile fails

Ping Cheng (1):
HID: input: map HID_GD_Z to ABS_DISTANCE for stylus/pen

Prajna Rajendra Kumar (1):
spi: microchip: rename driver file and internal identifiers

Prithvi Tambewagh (2):
io_uring: fix filename leak in __io_openat_prep()
ocfs2: fix kernel BUG in ocfs2_find_victim_chain

Qianchang Zhao (2):
ksmbd: vfs: fix race on m_flags in vfs_cache
ksmbd: skip lock-range check on equal size to avoid size==0 underflow

Qu Wenruo (2):
btrfs: fix a potential path leak in print_data_reloc_error()
btrfs: scrub: always update btrfs_scrub_progress::last_physical

Quan Zhou (1):
wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after
CLC load

Rafael J. Wysocki (3):
fs: PM: Fix reverse check in filesystems_freeze_callback()
cpuidle: governors: teo: Drop misguided target residency check
PM: runtime: Do not clear needs_force_resume with enabled runtime PM

Raghavendra Rao Ananta (1):
vfio: Fix ksize arg while copying user struct in
vfio_df_ioctl_bind_iommufd()

Raviteja Laggyshetty (1):
interconnect: qcom: sdx75: Drop QPIC interconnect and BCM nodes

Ray Wu (2):
drm/amd/display: Fix scratch registers offsets for DCN35
drm/amd/display: Fix scratch registers offsets for DCN351

Rene Rebe (1):
floppy: fix for PAGE_SIZE != 4KB

René Rebe (1):
r8169: fix RTL8117 Wake-on-Lan in DASH mode

Rob Herring (Arm) (1):
arm64: dts: mediatek: Apply mt8395-radxa DT overlay at build time

Sai Krishna Potthuri (1):
mmc: sdhci-of-arasan: Increase CD stable timeout to 2 seconds

Sairaj Kodilkar (1):
amd/iommu: Preserve domain ids inside the kdump kernel

Sakari Ailus (1):
ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint()
only

Sanjay Govind (1):
Input: xpad - add support for CRKD Guitars

Sarthak Garg (1):
mmc: sdhci-msm: Avoid early clock doubling during HS400 transition

Sasha Finkelstein (1):
Input: apple_z2 - fix reading incorrect reports after exiting sleep

Scott Mayhew (1):
net/handshake: duplicate handshake cancellations leak socket

Sean Christopherson (7):
KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot
KVM: x86: WARN if hrtimer callback for periodic APIC timer fires with
period=0
KVM: selftests: Forcefully override ARCH from x86_64 to x86
KVM: TDX: Explicitly set user-return MSRs that may be clobbered by
the TDX-Module
KVM: nSVM: Set exit_code_hi to -1 when synthesizing SVM_EXIT_ERR
(failed VMRUN)
KVM: nSVM: Clear exit_code_hi in VMCB when synthesizing nested
VM-Exits
KVM: x86: Apply runtime updates to current CPUID during
KVM_SET_CPUID{,2}

Seunghwan Baek (1):
scsi: ufs: core: Add ufshcd_update_evt_hist() for UFS suspend error

Shakeel Butt (1):
cgroup: rstat: use LOCK CMPXCHG in css_rstat_updated

Shardul Bankar (1):
nfsd: fix memory leak in nfsd_create_serv error paths

Shaurya Rane (1):
net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()

Shay Drory (3):
net/mlx5: fw_tracer, Validate format string parameters
net/mlx5: fw_tracer, Handle escaped percent properly
net/mlx5: Serialize firmware reset with devlink

Shengjiu Wang (1):
ASoC: ak4458: remove the reset operation in probe and remove

Shipei Qu (1):
ALSA: usb-mixer: us16x08: validate meter packet indices

Shivani Agarwal (1):
crypto: af_alg - zero initialize memory allocated via sock_kmalloc

Shuai Zhang (1):
Bluetooth: btusb: add new custom firmwares

Shuhao Fu (1):
cpufreq: s5pv210: fix refcount leak

Shuicheng Lin (3):
drm/xe: Fix freq kobject leak on sysfs_create_files failure
drm/xe: Limit num_syncs to prevent oversized allocations
drm/xe/oa: Limit num_syncs to prevent oversized allocations

Shuming Fan (1):
ASoC: SDCA: support Q7.8 volume format

Shuran Liu (1):
bpf: Fix verifier assumptions of bpf_d_path's output buffer

Slavin Liu (1):
ipvs: fix ipv4 null-ptr-deref in route error path

Song Liu (1):
livepatch: Match old_sympos 0 and 1 in klp_find_func()

Sourabh Jain (1):
crash: let architecture decide crash memory export to iomem_resource

Srinivas Kandagatla (2):
dt-bindings: slimbus: fix warning from example
rpmsg: glink: fix rpmsg device leak

Stefan Binding (1):
ASoC: ops: fix snd_soc_get_volsw for sx controls

Stefan Haberland (1):
s390/dasd: Fix gendisk parent after copy pair swap

Stefano Garzarella (1):
vhost/vsock: improve RCU read sections around vhost_vsock_get()

Steven Rostedt (3):
ktest.pl: Fix uninitialized var in config-bisect.pl
tracing: Do not register unsupported perf events
tracing: Fix fixed array of synthetic event

Sven Eckelmann (Plasma Cloud) (1):
wifi: mt76: Fix DTS power-limits on little endian systems

Sven Schnelle (1):
s390/ipl: Clear SBP flag when bootprog is set

T.J. Mercier (1):
bpf: Fix truncated dmabuf iterator reads

Tal Zussman (1):
x86/mm/tlb/trace: Export the TLB_REMOTE_WRONG_CPU enum in
<trace/events/tlb.h>

Tejun Heo (3):
sched_ext: Factor out local_dsq_post_enq() from dispatch_enqueue()
sched_ext: Fix bypass depth leak on scx_enable() failure
sched_ext: Fix missing post-enqueue handling in
move_local_task_to_local_dsq()

Tetsuo Handa (3):
hfsplus: Verify inode mode when loading from disk
can: j1939: make j1939_sk_bind() fail if device is no longer
registered
jbd2: use a per-journal lock_class_key for jbd2_trans_commit_key

Thomas Fourier (1):
block: rnbd-clt: Fix leaked ID in init_dev()

Thomas Gleixner (1):
x86/msi: Make irq_retrigger() functional for posted MSI

Thorsten Blum (1):
net: phy: marvell-88q2xxx: Fix clamped value in mv88q2xxx_hwmon_write

Tianchu Chen (1):
char: applicom: fix NULL pointer dereference in ac_ioctl

Tomas Glozar (1):
rtla/timerlat_bpf: Stop tracing on user latency

Tony Battersby (4):
scsi: qla2xxx: Fix lost interrupts with qlini_mode=disabled
scsi: qla2xxx: Fix initiator mode with qlini_mode=exclusive
scsi: qla2xxx: Use reinit_completion on mbx_intr_comp
scsi: Revert "scsi: qla2xxx: Perform lockless command completion in
abort path"

Tzung-Bi Shih (1):
platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver

Udipto Goswami (1):
usb: dwc3: keep susphy enabled during exit to avoid controller faults

Viacheslav Dubeyko (3):
hfsplus: fix volume corruption issue for generic/070
hfsplus: fix volume corruption issue for generic/073
hfsplus: fix volume corruption issue for generic/101

Victor Nogueira (1):
net/sched: ets: Remove drr class from the active list if it changes to
strict

Vinay Belgaumkar (1):
drm/xe: Apply Wa_14020316580 in xe_gt_idle_enable_pg()

Vivian Wang (1):
lib/crypto: riscv/chacha: Avoid s0/fp register

Vladimir Oltean (5):
net: phy: realtek: eliminate priv->phycr2 variable
net: phy: realtek: eliminate has_phycr2 variable
net: phy: realtek: allow CLKOUT to be disabled on RTL8211F(D)(I)-VD-CG
net: phy: realtek: eliminate priv->phycr1 variable
net: phy: realtek: create rtl8211f_config_phy_eee() helper

Wang Liang (1):
netrom: Fix memory leak in nr_sendmsg()

Wangao Wang (1):
media: iris: Add sanity check for stop streaming

Wanpeng Li (1):
KVM: Fix last_boosted_vcpu index assignment bug

Wei Fang (2):
net: fec: ERR007885 Workaround for XDP TX path
net: enetc: do not transmit redirected XDP frames when the link is
down

Wei Yang (1):
mm/huge_memory: add pmd folio to ds_queue in do_huge_zero_wp_pmd()

Wenhua Lin (1):
serial: sprd: Return -EPROBE_DEFER when uart clock is not ready

Wentao Guan (1):
gpio: regmap: Fix memleak in error path in gpio_regmap_register()

Xi Ruoyao (1):
gpio: loongson: Switch 2K2000/3000 GPIO to BYTE_CTRL_MODE

Xiaole He (2):
f2fs: fix age extent cache insertion skip on counter overflow
f2fs: fix uninitialized one_time_gc in victim_sel_policy

Yang Chenzhi (1):
hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create

Ye Bin (1):
jbd2: fix the inconsistency between checksum and data in memory for
journal sb

Yongjian Sun (1):
ext4: fix incorrect group number assertion in mb_check_buddy

Yongxin Liu (2):
platform/x86: intel_pmc_ipc: fix ACPI buffer memory leak
x86/fpu: Fix FPU state core dump truncation on CPUs with no extended
xfeatures

Yosry Ahmed (2):
KVM: nSVM: Avoid incorrect injection of SVM_EXIT_CR0_SEL_WRITE
KVM: nSVM: Propagate SVM_EXIT_CR0_SEL_WRITE correctly for LMSW
emulation

Yu Peng (1):
x86/microcode: Mark early_parse_cmdline() as __init

Yuezhang Mo (2):
exfat: fix remount failure in different process environments
exfat: zero out post-EOF page cache on file extension

Zheng Yejian (1):
kallsyms: Fix wrong "big" kernel symbol type read from procfs

Zhichi Lin (1):
scs: fix a wrong parameter in __scs_magic

Zilin Guan (1):
cifs: Fix memory and information leak in smb3_reconfigure()

Zqiang (1):
sched_ext: Fix the memleak for sch->helper objects

caoping (1):
net/handshake: restore destructor on submit failure

fuqiang wang (2):
KVM: x86: Explicitly set new periodic hrtimer expiration in
apic_timer_fn()
KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic
HV timer

huang-jl (1):
io_uring: fix nr_segs calculation in io_import_kbuf

j.turek (1):
serial: xilinx_uartps: fix rs485 delay_rts_after_send

xu xin (1):
mm/ksm: fix exec/fork inheritance support for prctl

Łukasz Bartosik (1):
xhci: dbgtty: fix device unregister: fixup

.../devicetree/bindings/mmc/aspeed,sdhci.yaml | 2 +-
.../bindings/pci/qcom,pcie-sc7280.yaml | 5 +
.../bindings/pci/qcom,pcie-sc8280xp.yaml | 3 +
.../bindings/pci/qcom,pcie-sm8150.yaml | 5 +
.../bindings/pci/qcom,pcie-sm8250.yaml | 5 +
.../bindings/pci/qcom,pcie-sm8350.yaml | 5 +
.../bindings/pci/qcom,pcie-sm8450.yaml | 5 +
.../bindings/pci/qcom,pcie-sm8550.yaml | 5 +
.../devicetree/bindings/slimbus/slimbus.yaml | 16 +-
Makefile | 2 +-
arch/arm/boot/dts/microchip/sama5d2.dtsi | 10 +-
arch/arm/boot/dts/microchip/sama7d65.dtsi | 6 +-
arch/arm/boot/dts/microchip/sama7g5.dtsi | 4 +-
arch/arm64/boot/dts/mediatek/Makefile | 2 +
arch/arm64/crypto/ghash-ce-glue.c | 2 +-
arch/arm64/kernel/process.c | 1 +
arch/arm64/net/bpf_jit_comp.c | 2 +-
arch/mips/kernel/ftrace.c | 25 ++-
arch/mips/sgi-ip22/ip22-gio.c | 3 +-
arch/powerpc/boot/addnote.c | 7 +-
arch/powerpc/include/asm/crash_reserve.h | 8 +
arch/powerpc/kernel/btext.c | 3 +-
arch/powerpc/kexec/core_64.c | 19 ++
arch/riscv/crypto/Kconfig | 12 +-
arch/s390/include/uapi/asm/ipl.h | 1 +
arch/s390/kernel/ipl.c | 48 +++-
arch/um/kernel/process.c | 4 +-
arch/um/kernel/um_arch.c | 2 -
arch/x86/events/amd/core.c | 7 +-
arch/x86/include/asm/bug.h | 2 +-
arch/x86/include/asm/irq_remapping.h | 7 +
arch/x86/include/asm/kvm_host.h | 1 -
arch/x86/include/asm/ptrace.h | 20 +-
arch/x86/kernel/cpu/mce/threshold.c | 3 +-
arch/x86/kernel/cpu/microcode/core.c | 2 +-
arch/x86/kernel/fpu/xstate.c | 4 +-
arch/x86/kernel/irq.c | 23 ++
arch/x86/kvm/cpuid.c | 11 +-
arch/x86/kvm/lapic.c | 32 ++-
arch/x86/kvm/svm/nested.c | 6 +-
arch/x86/kvm/svm/svm.c | 44 ++--
arch/x86/kvm/svm/svm.h | 7 +-
arch/x86/kvm/vmx/nested.c | 3 +-
arch/x86/kvm/vmx/tdx.c | 56 ++---
arch/x86/kvm/vmx/tdx.h | 1 -
arch/x86/kvm/x86.c | 34 ++-
arch/x86/xen/enlighten_pv.c | 2 +-
block/bfq-iosched.c | 2 +-
block/blk-mq-sched.c | 117 ++++++++--
block/blk-mq-sched.h | 40 +++-
block/blk-mq.c | 50 +++--
block/blk-sysfs.c | 28 +--
block/blk-wbt.c | 20 +-
block/blk-wbt.h | 5 +
block/blk-zoned.c | 42 ++--
block/blk.h | 7 +-
block/elevator.c | 84 ++++---
block/elevator.h | 27 ++-
block/genhd.c | 2 +-
crypto/af_alg.c | 5 +-
crypto/algif_hash.c | 3 +-
crypto/algif_rng.c | 3 +-
crypto/scatterwalk.c | 97 ++++++--
drivers/acpi/acpi_pcc.c | 2 +-
drivers/acpi/acpica/nswalk.c | 9 +-
drivers/acpi/cppc_acpi.c | 3 +-
drivers/acpi/fan.h | 33 +++
drivers/acpi/fan_hwmon.c | 10 +-
drivers/acpi/property.c | 8 +-
drivers/amba/tegra-ahb.c | 1 +
drivers/android/binder/process.rs | 8 +-
drivers/base/power/runtime.c | 22 +-
drivers/block/floppy.c | 2 +-
drivers/block/rnbd/rnbd-clt.c | 13 +-
drivers/block/rnbd/rnbd-clt.h | 2 +-
drivers/block/ublk_drv.c | 139 ++++++++----
drivers/block/zloop.c | 12 +-
drivers/bluetooth/btusb.c | 11 +
drivers/bus/ti-sysc.c | 11 +-
drivers/char/applicom.c | 5 +-
drivers/char/ipmi/ipmi_msghandler.c | 20 +-
drivers/char/tpm/tpm-chip.c | 1 -
drivers/char/tpm/tpm1-cmd.c | 5 -
drivers/char/tpm/tpm2-cmd.c | 34 ++-
drivers/char/tpm/tpm2-sessions.c | 194 ++++++++++------
drivers/clk/keystone/syscon-clk.c | 2 +-
drivers/clk/mvebu/cp110-system-controller.c | 20 ++
drivers/clk/qcom/dispcc-sm7150.c | 2 +-
drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
drivers/cpufreq/cpufreq-nforce2.c | 3 +
drivers/cpufreq/s5pv210-cpufreq.c | 6 +-
drivers/cpuidle/governors/menu.c | 9 +-
drivers/cpuidle/governors/teo.c | 7 +-
drivers/crypto/caam/caamrng.c | 4 +-
drivers/crypto/ccp/sp-pci.c | 19 ++
drivers/firmware/efi/efi.c | 3 +
drivers/firmware/imx/imx-scu-irq.c | 4 +-
drivers/gpio/gpio-loongson-64bit.c | 10 +-
drivers/gpio/gpio-regmap.c | 2 +-
drivers/gpio/gpiolib-acpi-quirks.c | 22 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 10 +-
.../display/amdgpu_dm/amdgpu_dm_mst_types.c | 59 +++--
.../gpu/drm/amd/display/dc/core/dc_surface.c | 2 +-
.../dc/resource/dcn35/dcn35_resource.c | 8 +-
.../dc/resource/dcn351/dcn351_resource.c | 8 +-
drivers/gpu/drm/drm_displayid.c | 19 +-
drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 18 +-
drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 4 +-
drivers/gpu/drm/panel/panel-sony-td4353-jdi.c | 2 +
drivers/gpu/drm/tests/drm_atomic_state_test.c | 40 +++-
.../drm/tests/drm_hdmi_state_helper_test.c | 143 ++++++++++++
drivers/gpu/drm/xe/xe_device.c | 2 +-
drivers/gpu/drm/xe/xe_exec.c | 3 +-
drivers/gpu/drm/xe/xe_gt.c | 7 +-
drivers/gpu/drm/xe/xe_gt_freq.c | 4 +-
drivers/gpu/drm/xe/xe_gt_idle.c | 8 +
drivers/gpu/drm/xe/xe_heci_gsc.c | 4 +-
drivers/gpu/drm/xe/xe_oa.c | 10 +-
drivers/gpu/drm/xe/xe_svm.h | 2 +-
drivers/gpu/drm/xe/xe_vm.c | 3 +
drivers/gpu/drm/xe/xe_wa.c | 8 -
drivers/gpu/drm/xe/xe_wa_oob.rules | 1 +
drivers/hid/hid-input.c | 18 +-
drivers/hwmon/dell-smm-hwmon.c | 9 +
drivers/hwmon/emc2305.c | 8 +-
drivers/hwmon/ibmpex.c | 9 +-
drivers/hwmon/ltc4282.c | 9 +-
drivers/hwmon/max16065.c | 7 +-
drivers/hwmon/max6697.c | 2 +-
drivers/hwmon/tmp401.c | 2 +-
drivers/hwmon/w83791d.c | 17 +-
drivers/hwmon/w83l786ng.c | 26 ++-
drivers/hwtracing/intel_th/core.c | 20 +-
drivers/i2c/busses/i2c-amd-mp2-pci.c | 5 +-
drivers/i2c/busses/i2c-designware-core.h | 1 +
drivers/i2c/busses/i2c-designware-master.c | 7 +
drivers/iio/adc/ti_am335x_adc.c | 2 +-
drivers/input/joystick/xpad.c | 5 +
drivers/input/keyboard/lkkbd.c | 5 +-
drivers/input/mouse/alps.c | 1 +
drivers/input/serio/i8042-acpipnpio.h | 7 +
drivers/input/touchscreen/apple_z2.c | 4 +
drivers/input/touchscreen/ti_am335x_tsc.c | 2 +-
drivers/interconnect/qcom/sdx75.c | 26 ---
drivers/interconnect/qcom/sdx75.h | 2 -
drivers/iommu/amd/init.c | 23 +-
drivers/iommu/intel/irq_remapping.c | 8 +-
drivers/iommu/iommufd/selftest.c | 8 +-
drivers/iommu/mtk_iommu.c | 25 ++-
drivers/md/dm-pcache/cache.c | 8 +-
drivers/md/dm-pcache/cache_segment.c | 8 +-
drivers/media/platform/qcom/iris/iris_vb2.c | 8 +-
.../media/test-drivers/vidtv/vidtv_channel.c | 3 +
drivers/media/usb/dvb-usb/dtv5100.c | 5 +
drivers/media/usb/pvrusb2/pvrusb2-hdw.c | 2 +-
drivers/misc/mei/Kconfig | 2 +-
drivers/misc/mei/main.c | 1 +
drivers/mmc/host/Kconfig | 4 +-
drivers/mmc/host/sdhci-msm.c | 27 ++-
drivers/mmc/host/sdhci-of-arasan.c | 2 +-
drivers/net/can/usb/gs_usb.c | 2 +-
drivers/net/ethernet/broadcom/b44.c | 3 +
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 3 +-
drivers/net/ethernet/freescale/enetc/enetc.c | 3 +-
drivers/net/ethernet/freescale/fec_main.c | 7 +-
.../hisilicon/hns3/hns3pf/hclge_main.c | 3 +
.../hisilicon/hns3/hns3pf/hclge_mbx.c | 4 +-
.../hisilicon/hns3/hns3vf/hclgevf_main.c | 4 +-
.../net/ethernet/mellanox/mlx5/core/devlink.c | 5 +
.../mellanox/mlx5/core/diag/fw_tracer.c | 97 ++++++--
.../mellanox/mlx5/core/diag/fw_tracer.h | 1 +
drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 +-
.../mellanox/mlx5/core/en_accel/ipsec.c | 8 +-
.../net/ethernet/mellanox/mlx5/core/en_main.c | 1 -
.../mellanox/mlx5/core/eswitch_offloads.c | 6 +
.../ethernet/mellanox/mlx5/core/fw_reset.c | 48 +++-
.../ethernet/mellanox/mlx5/core/fw_reset.h | 1 +
.../net/ethernet/mellanox/mlx5/core/lag/lag.c | 1 +
.../ethernet/mellanox/mlx5/core/lag/mpesw.c | 11 +-
.../net/ethernet/mellanox/mlx5/core/main.c | 1 +
.../net/ethernet/mellanox/mlxsw/spectrum_mr.c | 2 +
.../ethernet/mellanox/mlxsw/spectrum_router.c | 27 +--
drivers/net/ethernet/realtek/r8169_main.c | 5 +-
drivers/net/ethernet/ti/Kconfig | 3 +-
drivers/net/ipvlan/ipvlan_core.c | 3 +
drivers/net/phy/marvell-88q2xxx.c | 2 +-
drivers/net/phy/realtek/realtek_main.c | 112 ++++++----
.../broadcom/brcm80211/brcmfmac/dmi.c | 14 ++
drivers/net/wireless/mediatek/mt76/eeprom.c | 37 ++--
.../net/wireless/mediatek/mt76/mt7921/mcu.c | 2 +-
.../net/wireless/mediatek/mt76/mt7925/mcu.c | 2 +-
drivers/net/wireless/realtek/rtl8xxxu/core.c | 7 +-
drivers/nfc/pn533/usb.c | 2 +-
drivers/nvme/host/fabrics.c | 2 +-
drivers/nvme/host/fc.c | 6 +-
drivers/of/fdt.c | 2 +-
drivers/parisc/gsc.c | 4 +-
drivers/perf/arm_cspmu/arm_cspmu.c | 4 +-
drivers/phy/broadcom/phy-bcm63xx-usbh.c | 6 +-
drivers/phy/samsung/phy-exynos5-usbdrd.c | 2 +-
drivers/pinctrl/renesas/pinctrl-rzg2l.c | 71 +++---
drivers/platform/chrome/cros_ec_ishtp.c | 1 +
drivers/platform/x86/intel/chtwc_int33fe.c | 29 ++-
drivers/platform/x86/intel/hid.c | 12 +
drivers/platform/x86/lenovo/wmi-gamezone.c | 17 +-
drivers/pwm/pwm-rzg2l-gpt.c | 15 +-
drivers/rpmsg/qcom_glink_native.c | 8 +
drivers/s390/block/dasd_eckd.c | 8 +
drivers/scsi/aic94xx/aic94xx_init.c | 3 +
drivers/scsi/lpfc/lpfc_els.c | 36 ++-
drivers/scsi/lpfc/lpfc_hbadisc.c | 4 +-
drivers/scsi/mpi3mr/mpi/mpi30_ioc.h | 1 +
drivers/scsi/mpi3mr/mpi3mr_fw.c | 2 +
drivers/scsi/qla2xxx/qla_def.h | 1 -
drivers/scsi/qla2xxx/qla_gbl.h | 2 +-
drivers/scsi/qla2xxx/qla_isr.c | 32 +--
drivers/scsi/qla2xxx/qla_mbx.c | 2 +
drivers/scsi/qla2xxx/qla_mid.c | 4 +-
drivers/scsi/qla2xxx/qla_os.c | 14 +-
drivers/scsi/scsi_debug.c | 2 +-
drivers/scsi/smartpqi/smartpqi_init.c | 4 +
drivers/soc/amlogic/meson-canvas.c | 5 +-
drivers/soc/apple/mailbox.c | 15 +-
drivers/soc/qcom/ocmem.c | 2 +-
drivers/soc/qcom/qcom-pbs.c | 2 +
drivers/soc/samsung/exynos-pmu.c | 2 +
drivers/soc/tegra/fuse/fuse-tegra.c | 2 -
drivers/spi/Kconfig | 19 +-
drivers/spi/Makefile | 2 +-
drivers/spi/spi-cadence-quadspi.c | 4 +-
drivers/spi/spi-fsl-spi.c | 2 +-
.../spi/{spi-microchip-core.c => spi-mpfs.c} | 208 +++++++++---------
drivers/target/target_core_transport.c | 1 +
drivers/tty/serial/serial_base_bus.c | 11 +-
drivers/tty/serial/sh-sci.c | 2 +-
drivers/tty/serial/sprd_serial.c | 6 +
drivers/tty/serial/xilinx_uartps.c | 14 +-
drivers/ufs/core/ufshcd.c | 5 +-
drivers/ufs/host/ufs-mediatek.c | 5 +
drivers/usb/dwc3/dwc3-of-simple.c | 7 +-
drivers/usb/dwc3/gadget.c | 2 +-
drivers/usb/dwc3/host.c | 2 +-
drivers/usb/gadget/function/f_fs.c | 53 ++++-
drivers/usb/gadget/udc/lpc32xx_udc.c | 21 +-
drivers/usb/host/ohci-nxp.c | 2 +
drivers/usb/host/xhci-dbgtty.c | 2 +-
drivers/usb/host/xhci-hub.c | 2 +-
drivers/usb/host/xhci-ring.c | 27 ++-
drivers/usb/phy/phy-fsl-usb.c | 1 +
drivers/usb/phy/phy-isp1301.c | 7 +-
drivers/usb/renesas_usbhs/pipe.c | 2 +
drivers/usb/storage/unusual_uas.h | 2 +-
drivers/usb/typec/altmodes/displayport.c | 8 +-
drivers/usb/typec/ucsi/Kconfig | 1 +
drivers/usb/typec/ucsi/ucsi.c | 6 +
drivers/usb/usbip/vhci_hcd.c | 6 +-
drivers/vdpa/octeon_ep/octep_vdpa_main.c | 1 +
drivers/vfio/device_cdev.c | 2 +-
drivers/vhost/vsock.c | 15 +-
drivers/watchdog/via_wdt.c | 1 +
fs/btrfs/file.c | 3 +-
fs/btrfs/inode.c | 1 +
fs/btrfs/ioctl.c | 4 +-
fs/btrfs/scrub.c | 5 +
fs/btrfs/tree-log.c | 46 +++-
fs/btrfs/volumes.c | 1 +
fs/exfat/file.c | 5 +
fs/exfat/super.c | 19 +-
fs/ext4/ialloc.c | 1 -
fs/ext4/inode.c | 1 -
fs/ext4/ioctl.c | 4 +
fs/ext4/mballoc.c | 2 +
fs/ext4/orphan.c | 4 +-
fs/ext4/super.c | 6 +-
fs/ext4/xattr.c | 6 +-
fs/f2fs/compress.c | 5 +-
fs/f2fs/data.c | 17 ++
fs/f2fs/extent_cache.c | 5 +-
fs/f2fs/f2fs.h | 13 +-
fs/f2fs/file.c | 12 +-
fs/f2fs/gc.c | 2 +-
fs/f2fs/namei.c | 6 +-
fs/f2fs/recovery.c | 20 +-
fs/f2fs/segment.c | 9 +-
fs/f2fs/segment.h | 8 +-
fs/f2fs/super.c | 116 ++++------
fs/f2fs/xattr.c | 32 +--
fs/f2fs/xattr.h | 10 +-
fs/fuse/dev.c | 2 +-
fs/fuse/dev_uring.c | 6 +-
fs/fuse/file.c | 37 +++-
fs/fuse/fuse_dev_i.h | 1 +
fs/gfs2/glops.c | 3 +-
fs/gfs2/lops.c | 2 +-
fs/gfs2/quota.c | 2 +-
fs/gfs2/super.c | 4 +-
fs/hfsplus/bnode.c | 4 +-
fs/hfsplus/dir.c | 7 +-
fs/hfsplus/hfsplus_fs.h | 2 +
fs/hfsplus/inode.c | 41 +++-
fs/hfsplus/super.c | 87 +++++---
fs/iomap/buffered-io.c | 41 +++-
fs/jbd2/journal.c | 20 +-
fs/jbd2/transaction.c | 2 +-
fs/libfs.c | 50 ++---
fs/nfsd/blocklayout.c | 3 +-
fs/nfsd/export.c | 2 +-
fs/nfsd/nfs4xdr.c | 5 +
fs/nfsd/nfsd.h | 8 +-
fs/nfsd/nfssvc.c | 5 +-
fs/nfsd/vfs.h | 3 +-
fs/notify/fsnotify.c | 9 +-
fs/ntfs3/file.c | 14 +-
fs/ntfs3/ntfs_fs.h | 9 +-
fs/ntfs3/run.c | 6 +-
fs/ntfs3/super.c | 5 +
fs/ocfs2/suballoc.c | 10 +
fs/smb/client/fs_context.c | 2 +
fs/smb/server/mgmt/tree_connect.c | 18 +-
fs/smb/server/mgmt/tree_connect.h | 1 -
fs/smb/server/mgmt/user_session.c | 4 +-
fs/smb/server/smb2pdu.c | 16 +-
fs/smb/server/vfs.c | 5 +-
fs/smb/server/vfs_cache.c | 88 +++++---
fs/super.c | 2 +-
fs/xfs/libxfs/xfs_sb.c | 15 ++
fs/xfs/scrub/attr_repair.c | 2 +-
fs/xfs/xfs_attr_item.c | 2 +-
fs/xfs/xfs_buf_item.c | 1 +
fs/xfs/xfs_qm.c | 5 +-
fs/xfs/xfs_rtalloc.c | 14 +-
include/crypto/scatterwalk.h | 52 +++--
include/dt-bindings/clock/qcom,mmcc-sdm660.h | 1 +
include/linux/blkdev.h | 2 +-
include/linux/crash_reserve.h | 6 +
include/linux/dma-mapping.h | 2 +-
include/linux/fs.h | 2 +-
include/linux/jbd2.h | 6 +
include/linux/ksm.h | 4 +-
.../linux/platform_data/x86/intel_pmc_ipc.h | 4 +-
include/linux/reset.h | 1 +
include/linux/slab.h | 7 +
include/linux/tpm.h | 21 +-
include/media/v4l2-mem2mem.h | 3 +-
include/net/inet_frag.h | 18 +-
include/net/ipv6_frag.h | 9 +-
include/sound/soc.h | 1 +
include/trace/events/tlb.h | 5 +-
include/uapi/drm/xe_drm.h | 1 +
include/uapi/linux/mptcp.h | 1 +
io_uring/io_uring.c | 3 +
io_uring/openclose.c | 2 +-
io_uring/poll.c | 9 +-
io_uring/rsrc.c | 13 +-
kernel/bpf/dmabuf_iter.c | 56 ++++-
kernel/cgroup/rstat.c | 13 +-
kernel/crash_reserve.c | 3 +
kernel/kallsyms.c | 5 +-
kernel/livepatch/core.c | 8 +-
kernel/printk/internal.h | 8 +-
kernel/printk/nbcon.c | 9 +-
kernel/printk/printk.c | 83 +++++--
kernel/sched/cpudeadline.c | 34 +--
kernel/sched/cpudeadline.h | 4 +-
kernel/sched/deadline.c | 8 +-
kernel/sched/ext.c | 62 ++++--
kernel/sched/fair.c | 19 +-
kernel/scs.c | 2 +-
kernel/trace/bpf_trace.c | 2 +-
kernel/trace/trace_events.c | 2 +
kernel/trace/trace_events_synth.c | 1 -
lib/crypto/Kconfig | 9 +-
lib/crypto/riscv/.gitignore | 2 +
lib/crypto/riscv/chacha-riscv64-zvkb.S | 5 +-
lib/crypto/x86/blake2s-core.S | 4 +-
mm/huge_memory.c | 2 +-
mm/ksm.c | 20 +-
mm/shmem.c | 18 +-
mm/slab.h | 1 +
mm/slab_common.c | 52 +++--
mm/slub.c | 57 ++---
net/caif/cffrml.c | 9 +-
net/can/j1939/socket.c | 6 +
net/ceph/osdmap.c | 116 +++++-----
net/ethtool/ioctl.c | 30 ++-
net/handshake/request.c | 8 +-
net/hsr/hsr_forward.c | 2 +
net/ipv4/inet_fragment.c | 55 ++++-
net/ipv4/ip_fragment.c | 22 +-
net/mptcp/pm_netlink.c | 3 +-
net/mptcp/protocol.c | 22 +-
net/netfilter/ipvs/ip_vs_xmit.c | 3 +
net/netfilter/nf_conncount.c | 25 ++-
net/netfilter/nf_nat_core.c | 14 +-
net/netfilter/nf_tables_api.c | 11 -
net/netrom/nr_out.c | 4 +-
net/openvswitch/flow_netlink.c | 13 +-
net/sched/sch_ets.c | 6 +-
net/sunrpc/auth_gss/svcauth_gss.c | 3 +-
net/sunrpc/xprtrdma/svc_rdma_rw.c | 7 +-
net/wireless/core.c | 1 +
net/wireless/core.h | 1 +
net/wireless/mlme.c | 19 ++
net/wireless/util.c | 23 +-
rust/helpers/dma.c | 21 ++
rust/kernel/devres.rs | 18 +-
rust/kernel/drm/gem/mod.rs | 2 +-
rust/kernel/io.rs | 26 ++-
rust/kernel/io/resource.rs | 13 +-
samples/rust/rust_driver_pci.rs | 2 +-
scripts/Makefile.modinst | 2 +-
scripts/faddr2line | 13 +-
scripts/lib/kdoc/kdoc_parser.py | 7 +-
security/keys/trusted-keys/trusted_tpm2.c | 35 ++-
sound/hda/codecs/realtek/alc269.c | 11 +-
sound/pcmcia/pdaudiocf/pdaudiocf.c | 8 +-
sound/pcmcia/vx/vxpocket.c | 8 +-
sound/soc/codecs/ak4458.c | 4 -
sound/soc/fsl/fsl_sai.c | 10 +-
sound/soc/sdca/sdca_asoc.c | 34 +--
sound/soc/soc-ops.c | 84 +++++--
sound/soc/sof/ipc4-topology.c | 24 +-
sound/usb/mixer_us16x08.c | 20 +-
tools/lib/perf/cpumap.c | 10 +-
tools/testing/ktest/config-bisect.pl | 4 +-
tools/testing/nvdimm/test/nfit.c | 7 +-
tools/testing/selftests/iommu/iommufd.c | 8 +-
tools/testing/selftests/kvm/Makefile | 2 +-
tools/testing/selftests/kvm/rseq_test.c | 1 +
tools/testing/selftests/net/af_unix/Makefile | 7 +-
tools/testing/selftests/net/lib/ksft.h | 6 +-
.../testing/selftests/net/mptcp/pm_netlink.sh | 4 +
tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 11 +
.../net/netfilter/conntrack_clash.sh | 9 +-
.../net/netfilter/conntrack_reverse_clash.c | 13 +-
.../net/netfilter/conntrack_reverse_clash.sh | 2 +
.../conntrack_syn_challenge_ack.pkt | 2 +-
tools/testing/selftests/net/tfo.c | 3 +-
tools/testing/selftests/ublk/kublk.h | 12 +-
tools/tracing/rtla/src/timerlat.bpf.c | 3 +
virt/kvm/kvm_main.c | 4 +-
441 files changed, 4066 insertions(+), 1938 deletions(-)
rename drivers/spi/{spi-microchip-core.c => spi-mpfs.c} (68%)
create mode 100644 lib/crypto/riscv/.gitignore

David Strahan and others added 30 commits January 4, 2026 09:57
[ Upstream commit 48e6b7e708029cea451e53a8c16fc8c16039ecdc ]

Add support for new Hurray Data controller.

All entries are in HEX.

Add PCI IDs for Hurray Data controllers:
                                         VID  / DID  / SVID / SDID
                                         ----   ----   ----   ----
                                         9005   028f   207d   4840

Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
Reviewed-by: Scott Teel <scott.teel@microchip.com>
Reviewed-by: Mike McGowen <mike.mcgowen@microchip.com>
Signed-off-by: David Strahan <David.Strahan@microchip.com>
Signed-off-by: Don Brace <don.brace@microchip.com>
Link: https://patch.msgid.link/20251106163823.786828-4-don.brace@microchip.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 4ca4c0b6c34ffc5cfd99312d751c95fc693c92e8)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 07caedc6a3887938813727beafea40f07c497705 ]

It's possible for an unstable link to repeatedly bounce allowing a FLOGI
retry, but then bounce again forcing an abort of the FLOGI.  Ensure that
the initial reference count on the FLOGI ndlp is restored in this faulty
link scenario.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://patch.msgid.link/20251106224639.139176-8-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 5f9a7a00a2be5734ef0934566feabe17eb094786)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit f0e6bc0c3ef4b4afb299bd6912586cafd5d864e9 ]

CP110 based platforms rely on the bootloader for pci port
initialization.
TF-A actively prevents non-uboot re-configuration of pci lanes, and many
boards do not have software control over the pci card reset.

If a pci port had link at boot-time and the clock is stopped at a later
point, the link fails and can not be recovered.

PCI controller driver probe - and by extension ownership of a driver for
the pci clocks - may be delayed especially on large modular kernels,
causing the clock core to start disabling unused clocks.

Add the CLK_IGNORE_UNUSED flag to the three pci port's clocks to ensure
they are not stopped before the pci controller driver has taken
ownership and tested for an existing link.

This fixes failed pci link detection when controller driver probes late,
e.g. with arm64 defconfig and CONFIG_PHY_MVEBU_CP110_COMPHY=m.

Closes: https://lore.kernel.org/r/b71596c7-461b-44b6-89ab-3cfbd492639f@solid-run.com
Signed-off-by: Josua Mayer <josua@solid-run.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit d45fcd38c692b13784a61e77d2e5ea5f4dacc79b)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 825ce89a3ef17f84cf2c0eacfa6b8dc9fd11d13f ]

The PUT_64[LB]E() macros need to cast the value to unsigned long long
like the GET_64[LB]E() macros. Caused lots of warnings when compiled
on 32-bit, and clobbered addresses (36-bit P4080).

Signed-off-by: Ben Collins <bcollins@kernel.org>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/2025042122-mustard-wrasse-694572@boujee-and-buff
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 095704d7f334d2efcc0a225ce086a6d423523935)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 4f6aaade2a22ac428fa99ed716cf2b87e79c9837 ]

When qla2xxx is loaded with qlini_mode=disabled,
ha->flags.disable_msix_handshake is used before it is set, resulting in
the wrong interrupt handler being used on certain HBAs
(qla2xxx_msix_rsp_q_hs() is used when qla2xxx_msix_rsp_q() should be
used).  The only difference between these two interrupt handlers is that
the _hs() version writes to a register to clear the "RISC" interrupt,
whereas the other version does not.  So this bug results in the RISC
interrupt being cleared when it should not be.  This occasionally causes
a different interrupt handler qla24xx_msix_default() for a different
vector to see ((stat & HSRX_RISC_INT) == 0) and ignore its interrupt,
which then causes problems like:

qla2xxx [0000:02:00.0]-d04c:6: MBX Command timeout for cmd 20,
  iocontrol=8 jiffies=1090c0300 mb[0-3]=[0x4000 0x0 0x40 0xda] mb7 0x500
  host_status 0x40000010 hccr 0x3f00
qla2xxx [0000:02:00.0]-101e:6: Mailbox cmd timeout occurred, cmd=0x20,
  mb[0]=0x20. Scheduling ISP abort
(the cmd varies; sometimes it is 0x20, 0x22, 0x54, 0x5a, 0x5d, or 0x6a)

This problem can be reproduced with a 16 or 32 Gbps HBA by loading
qla2xxx with qlini_mode=disabled and running a high IOPS test while
triggering frequent RSCN database change events.

While analyzing the problem I discovered that even with
disable_msix_handshake forced to 0, it is not necessary to clear the
RISC interrupt from qla2xxx_msix_rsp_q_hs() (more below).  So just
completely remove qla2xxx_msix_rsp_q_hs() and the logic for selecting
it, which also fixes the bug with qlini_mode=disabled.

The test below describes the justification for not needing
qla2xxx_msix_rsp_q_hs():

Force disable_msix_handshake to 0:
qla24xx_config_rings():
if (0 && (ha->fw_attributes & BIT_6) && (IS_MSIX_NACK_CAPABLE(ha)) &&
    (ha->flags.msix_enabled)) {

In qla24xx_msix_rsp_q() and qla2xxx_msix_rsp_q_hs(), check:
  (rd_reg_dword(&reg->host_status) & HSRX_RISC_INT)

Count the number of calls to each function with HSRX_RISC_INT set and
the number with HSRX_RISC_INT not set while performing some I/O.

If qla2xxx_msix_rsp_q_hs() clears the RISC interrupt (original code):
qla24xx_msix_rsp_q:    50% of calls have HSRX_RISC_INT set
qla2xxx_msix_rsp_q_hs:  5% of calls have HSRX_RISC_INT set
(# of qla2xxx_msix_rsp_q_hs interrupts) =
    (# of qla24xx_msix_rsp_q interrupts) * 3

If qla2xxx_msix_rsp_q_hs() does not clear the RISC interrupt (patched
code):
qla24xx_msix_rsp_q:    100% of calls have HSRX_RISC_INT set
qla2xxx_msix_rsp_q_hs:   9% of calls have HSRX_RISC_INT set
(# of qla2xxx_msix_rsp_q_hs interrupts) =
    (# of qla24xx_msix_rsp_q interrupts) * 3

In the case of the original code, qla24xx_msix_rsp_q() was seeing
HSRX_RISC_INT set only 50% of the time because qla2xxx_msix_rsp_q_hs()
was clearing it when it shouldn't have been.  In the patched code,
qla24xx_msix_rsp_q() sees HSRX_RISC_INT set 100% of the time, which
makes sense if that interrupt handler needs to clear the RISC interrupt
(which it does).  qla2xxx_msix_rsp_q_hs() sees HSRX_RISC_INT only 9% of
the time, which is just overlap from the other interrupt during the
high IOPS test.

Tested with SCST on:
QLE2742  FW:v9.08.02 (32 Gbps 2-port)
QLE2694L FW:v9.10.11 (16 Gbps 4-port)
QLE2694L FW:v9.08.02 (16 Gbps 4-port)
QLE2672  FW:v8.07.12 (16 Gbps 2-port)
both initiator and target mode

Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
Link: https://patch.msgid.link/56d378eb-14ad-49c7-bae9-c649b6c7691e@cybernetics.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 45185214175c72da7b9d37f8374a6e1294f33302)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 8f58fc64d559b5fda1b0a5e2a71422be61e79ab9 ]

When given the module parameter qlini_mode=exclusive, qla2xxx in
initiator mode is initially unable to successfully send SCSI commands to
devices it finds while scanning, resulting in an escalating series of
resets until an adapter reset clears the issue.  Fix by checking the
active mode instead of the module parameter.

Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
Link: https://patch.msgid.link/1715ec14-ba9a-45dc-9cf2-d41aa6b81b5e@cybernetics.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 6407b63db802cf68ee40cd1677a01215216cd62d)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 957aa5974989fba4ae4f807ebcb27f12796edd4d ]

If a mailbox command completes immediately after
wait_for_completion_timeout() times out, ha->mbx_intr_comp could be left
in an inconsistent state, causing the next mailbox command not to wait
for the hardware.  Fix by reinitializing the completion before use.

Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
Link: https://patch.msgid.link/11b6485e-0bfd-4784-8f99-c06a196dad94@cybernetics.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 05f9aa19fdc169196c22b62ba3d81ba94d8575ea)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 1ce120dcefc056ce8af2486cebbb77a458aad4c3 ]

This was done as condition on direct_io_allow_mmap, but I believe
this is not right, as a file might be open two times - once with
write-back enabled another time with FOPEN_DIRECT_IO.

Signed-off-by: Bernd Schubert <bschubert@ddn.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit b88dd8517ec8de43e03395609236fe3f94680099)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit b359af8275a982a458e8df6c6beab1415be1f795 ]

generic_file_direct_write() also does this and has a large
comment about.

Reproducer here is xfstest's generic/209, which is exactly to
have competing DIO write and cached IO read.

Signed-off-by: Bernd Schubert <bschubert@ddn.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit ea0c31c521439d8c16cdebe305fa7c9d90811566)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 7aa31ee9ec92915926e74731378c009c9cc04928 ]

The VIA watchdog driver uses allocate_resource() to reserve a MMIO
region for the watchdog control register. However, the allocated
resource was not given a name, which causes the kernel resource tree
to contain an entry marked as "<BAD>" under /proc/iomem on x86
platforms.

During boot, this unnamed resource can lead to a critical hang because
subsequent resource lookups and conflict checks fail to handle the
invalid entry properly.

Signed-off-by: Li Qiang <liqiang01@kylinos.cn>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit c6a2dd4f2e4e6cbdfe7a1618160281af897b75db)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit e5bf5ee266633cb18fff6f98f0b7d59a62819eee ]

ffs_epfile_open() can race with removal, ending up with file->private_data
pointing to freed object.

There is a total count of opened files on functionfs (both ep0 and
dynamic ones) and when it hits zero, dynamic files get removed.
Unfortunately, that removal can happen while another thread is
in ffs_epfile_open(), but has not incremented the count yet.
In that case open will succeed, leaving us with UAF on any subsequent
read() or write().

The root cause is that ffs->opened is misused; atomic_dec_and_test() vs.
atomic_add_return() is not a good idea, when object remains visible all
along.

To untangle that
	* serialize openers on ffs->mutex (both for ep0 and for dynamic files)
	* have dynamic ones use atomic_inc_not_zero() and fail if we had
zero ->opened; in that case the file we are opening is doomed.
	* have the inodes of dynamic files marked on removal (from the
callback of simple_recursive_removal()) - clear ->i_private there.
	* have open of dynamic ones verify they hadn't been already removed,
along with checking that state is FFS_ACTIVE.

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit b49c766856fb5901490de577e046149ebf15e39d)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit f3d8b64ee46c9b4b0b82b1a4642027728bac95b8 ]

RESET_CONTROL_FLAGS_BIT_* macros use BIT(), but reset.h does not
include bits.h. This causes compilation errors when including
reset.h standalone.

Include bits.h to make reset.h self-contained.

Suggested-by: Troy Mitchell <troy.mitchell@linux.dev>
Reviewed-by: Troy Mitchell <troy.mitchell@linux.dev>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Encrow Thorne <jyc0019@gmail.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit f04d53f6e3ff2d682cbc9d6c05e7daf935232856)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 51fc7b4ce10ccab8ea5e4876bcdc42cf5202a0ef ]

The kernel test robot reported that the exFAT remount operation
failed. The reason for the failure was that the process's umask
is different between mount and remount, causing fs_fmask and
fs_dmask are changed.

Potentially, both gid and uid may also be changed. Therefore, when
initializing fs_context for remount, inherit these mount options
from the options used during mount.

Reported-by: kernel test robot <oliver.sang@intel.com>
Closes: https://lore.kernel.org/oe-lkp/202511251637.81670f5c-lkp@intel.com
Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit ff3e06e80c9e4c81e0038155c5a185e9a0079dbb)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 4e163c39dd4e70fcdce948b8774d96e0482b4a11 ]

xfstests generic/363 was failing due to unzeroed post-EOF page
cache that allowed mmap writes beyond EOF to become visible
after file extension.

For example, in following xfs_io sequence, 0x22 should not be
written to the file but would become visible after the extension:

  xfs_io -f -t -c "pwrite -S 0x11 0 8" \
    -c "mmap 0 4096" \
    -c "mwrite -S 0x22 32 32" \
    -c "munmap" \
    -c "pwrite -S 0x33 512 32" \
    $testfile

This violates the expected behavior where writes beyond EOF via
mmap should not persist after the file is extended. Instead, the
extended region should contain zeros.

Fix this by using truncate_pagecache() to truncate the page cache
after the current EOF when extending the file.

Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 967ac825b4f61ee6a268faedb6cd6393ad903210)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 09bf21bf5249880f62fe759b53b14b4b52900c6c ]

Interrupts are disabled before entering usb_hcd_giveback_urb().
A spinlock_t becomes a sleeping lock on PREEMPT_RT, so it cannot be
acquired with disabled interrupts.

Save the interrupt status and restore it after usb_hcd_giveback_urb().

syz reported:
BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48
Call Trace:
 dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
 rt_spin_lock+0xc7/0x2c0 kernel/locking/spinlock_rt.c:57
 spin_lock include/linux/spinlock_rt.h:44 [inline]
 mon_bus_complete drivers/usb/mon/mon_main.c:134 [inline]
 mon_complete+0x5c/0x200 drivers/usb/mon/mon_main.c:147
 usbmon_urb_complete include/linux/usb/hcd.h:738 [inline]
 __usb_hcd_giveback_urb+0x254/0x5e0 drivers/usb/core/hcd.c:1647
 vhci_urb_enqueue+0xb4f/0xe70 drivers/usb/usbip/vhci_hcd.c:818

Reported-by: syzbot+205ef33a3b636b4181fb@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=205ef33a3b636b4181fb
Signed-off-by: Lizhi Xu <lizhi.xu@windriver.com>
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://lore.kernel.org/r/20250916014143.1439759-1-lizhi.xu@windriver.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 1681cf6da695b9cc1c4f3411b230e1af98d6e1d3)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 30cd2cb1abf4c4acdb1ddb468c946f68939819fb ]

The UCSI spec states that the num_connectors field is 7 bits, and the
8th bit is reserved and should be set to zero.
Some buggy FW has been known to set this bit, and it can lead to a
system not booting.
Flag that the FW is not behaving correctly, and auto-fix the value
so that the system boots correctly.

Found on Lenovo P1 G8 during Linux enablement program. The FW will
be fixed, but seemed worth addressing in case it hit platforms that
aren't officially Linux supported.

Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20250821185319.2585023-1-mpearson-lenovo@squebb.ca
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 132fe187e0d940f388f839fe2cde9b84106ad20d)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit c9fb952360d0c78bbe98239bd6b702f05c2dbb31 ]

FIELD_PREP() checks that a value fits into the available bitfield, add a
check for step_avg to fix gcc complains.

which gcc complains about:
  drivers/iio/adc/ti_am335x_adc.c: In function 'tiadc_step_config':
  include/linux/compiler_types.h:572:38: error: call to
'__compiletime_assert_491' declared with attribute error: FIELD_PREP: value
too large for the field include/linux/mfd/ti_am335x_tscadc.h:58:29: note:
in expansion of macro 'FIELD_PREP'
    #define STEPCONFIG_AVG(val) FIELD_PREP(GENMASK(4, 2), (val))
                                ^~~~~~~~~~
drivers/iio/adc/ti_am335x_adc.c:127:17: note: in expansion of macro 'STEPCONFIG_AVG'
	stepconfig = STEPCONFIG_AVG(ffs(adc_dev->step_avg[i]) - 1)

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202510102117.Jqxrw1vF-lkp@intel.com/
Signed-off-by: Pei Xiao <xiaopei01@kylinos.cn>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 41374236a556d25266f4f3d70d857ab658e5b063)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 8d34983720155b8f05de765f0183d9b0e1345cc0 ]

run_graceperiod blocks usb 2.0 devices from auto suspending after
xhci_start for 500ms.

Log shows:
[   13.387170] xhci_hub_control:1271: xhci-hcd PNP0D10:03: Get port status 7-1 read: 0x2a0, return 0x100
[   13.387177] hub_event:5779: hub 7-0:1.0: state 7 ports 1 chg 0000 evt 0000
[   13.387182] hub_suspend:3903: hub 7-0:1.0: hub_suspend
[   13.387188] hcd_bus_suspend:2250: usb usb7: bus auto-suspend, wakeup 1
[   13.387191] hcd_bus_suspend:2279: usb usb7: suspend raced with wakeup event
[   13.387193] hcd_bus_resume:2303: usb usb7: usb auto-resume
[   13.387296] hub_event:5779: hub 3-0:1.0: state 7 ports 1 chg 0000 evt 0000
[   13.393343] handle_port_status:2034: xhci-hcd PNP0D10:02: handle_port_status: starting usb5 port polling.
[   13.393353] xhci_hub_control:1271: xhci-hcd PNP0D10:02: Get port status 5-1 read: 0x206e1, return 0x10101
[   13.400047] hub_suspend:3903: hub 3-0:1.0: hub_suspend
[   13.403077] hub_resume:3948: hub 7-0:1.0: hub_resume
[   13.403080] xhci_hub_control:1271: xhci-hcd PNP0D10:03: Get port status 7-1 read: 0x2a0, return 0x100
[   13.403085] hub_event:5779: hub 7-0:1.0: state 7 ports 1 chg 0000 evt 0000
[   13.403087] hub_suspend:3903: hub 7-0:1.0: hub_suspend
[   13.403090] hcd_bus_suspend:2250: usb usb7: bus auto-suspend, wakeup 1
[   13.403093] hcd_bus_suspend:2279: usb usb7: suspend raced with wakeup event
[   13.403095] hcd_bus_resume:2303: usb usb7: usb auto-resume
[   13.405002] handle_port_status:1913: xhci-hcd PNP0D10:04: Port change event, 9-1, id 1, portsc: 0x6e1
[   13.405016] hub_activate:1169: usb usb5-port1: status 0101 change 0001
[   13.405026] xhci_clear_port_change_bit:658: xhci-hcd PNP0D10:02: clear port1 connect change, portsc: 0x6e1
[   13.413275] hcd_bus_suspend:2250: usb usb3: bus auto-suspend, wakeup 1
[   13.419081] hub_resume:3948: hub 7-0:1.0: hub_resume
[   13.419086] xhci_hub_control:1271: xhci-hcd PNP0D10:03: Get port status 7-1 read: 0x2a0, return 0x100
[   13.419095] hub_event:5779: hub 7-0:1.0: state 7 ports 1 chg 0000 evt 0000
[   13.419100] hub_suspend:3903: hub 7-0:1.0: hub_suspend
[   13.419106] hcd_bus_suspend:2250: usb usb7: bus auto-suspend, wakeup 1
[   13.419110] hcd_bus_suspend:2279: usb usb7: suspend raced with wakeup event
[   13.419112] hcd_bus_resume:2303: usb usb7: usb auto-resume
[   13.420455] handle_port_status:2034: xhci-hcd PNP0D10:04: handle_port_status: starting usb9 port polling.
[   13.420493] handle_port_status:1913: xhci-hcd PNP0D10:05: Port change event, 10-1, id 1, portsc: 0x6e1
[   13.425332] hcd_bus_suspend:2279: usb usb3: suspend raced with wakeup event
[   13.431931] handle_port_status:2034: xhci-hcd PNP0D10:05: handle_port_status: starting usb10 port polling.
[   13.435080] hub_resume:3948: hub 7-0:1.0: hub_resume
[   13.435084] xhci_hub_control:1271: xhci-hcd PNP0D10:03: Get port status 7-1 read: 0x2a0, return 0x100
[   13.435092] hub_event:5779: hub 7-0:1.0: state 7 ports 1 chg 0000 evt 0000
[   13.435096] hub_suspend:3903: hub 7-0:1.0: hub_suspend
[   13.435102] hcd_bus_suspend:2250: usb usb7: bus auto-suspend, wakeup 1
[   13.435106] hcd_bus_suspend:2279: usb usb7: suspend raced with wakeup event

usb7 and other usb 2.0 root hub were rapidly toggling between suspend
and resume states. More, "suspend raced with wakeup event" confuses people.

So, limit run_graceperiod for only usb 3.0 devices

Signed-off-by: Hongyu Xie <xiehongyu1@kylinos.cn>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://patch.msgid.link/20251119142417.2820519-2-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 6dc09b9b211b35e8c9372a777499f0612a4f0cd5)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
… optical drive.

[ Upstream commit 955a48a5353f4fe009704a9a4272a3adf627cd35 ]

The optical drive of EL-R12 has the same vid and pid as INIC-3069,
as follows:
T:  Bus=02 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#=  3 Spd=5000 MxCh= 0
D:  Ver= 3.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=13fd ProdID=3940 Rev= 3.10
S:  Manufacturer=HL-DT-ST
S:  Product= DVD+-RW GT80N
S:  SerialNumber=423349524E4E38303338323439202020
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=144mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=02 Prot=50 Driver=usb-storage
E:  Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=0a(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms

This will result in the optical drive device also adding
the quirks of US_FL_NO_ATA_1X. When performing an erase operation,
it will fail, and the reason for the failure is as follows:
[  388.967742] sr 5:0:0:0: [sr0] tag#0 Send: scmd 0x00000000d20c33a7
[  388.967742] sr 5:0:0:0: [sr0] tag#0 CDB: ATA command pass through(12)/Blank a1 11 00 00 00 00 00 00 00 00 00 00
[  388.967773] sr 5:0:0:0: [sr0] tag#0 Done: SUCCESS Result: hostbyte=DID_TARGET_FAILURE driverbyte=DRIVER_OK cmd_age=0s
[  388.967773] sr 5:0:0:0: [sr0] tag#0 CDB: ATA command pass through(12)/Blank a1 11 00 00 00 00 00 00 00 00 00 00
[  388.967803] sr 5:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current]
[  388.967803] sr 5:0:0:0: [sr0] tag#0 Add. Sense: Invalid field in cdb
[  388.967803] sr 5:0:0:0: [sr0] tag#0 scsi host busy 1 failed 0
[  388.967803] sr 5:0:0:0: Notifying upper driver of completion (result 8100002)
[  388.967834] sr 5:0:0:0: [sr0] tag#0 0 sectors total, 0 bytes done.

For the EL-R12 standard optical drive, all operational commands
and usage scenarios were tested without adding the IGNORE_RESIDUE quirks,
and no issues were encountered. It can be reasonably concluded
that removing the IGNORE_RESIDUE quirks has no impact.

Signed-off-by: Chen Changcheng <chenchangcheng@kylinos.cn>
Link: https://patch.msgid.link/20251121064020.29332-1-chenchangcheng@kylinos.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit e375aa7f5a1eea7f5a5887da0bd156939b00cc17)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit e6aec6d9f5794e85d2312497a5d81296d885090e ]

Some old HCs ignore transfer ring link TRBs whose chain bit is unset.
This breaks endpoint operation and sometimes makes it execute other
ring's TDs, which may corrupt their buffers or cause unwanted device
action. We avoid this by chaining all link TRBs on affected rings.

Fix an omission which allows them to be unchained by cancelling TDs.

The patch was tested by reproducing this condition on an isochronous
endpoint (non-power-of-two TDs are sometimes split not to cross 64K)
and printing link TRBs in trb_to_noop() on good and buggy HCs.

Actual hardware malfunction is rare since it requires Missed Service
Error shortly before the unchained link TRB, at least on NEC and AMD.
I have never seen it after commit bb0ba4c ("usb: xhci: Apply the
link chain quirk on NEC isoc endpoints"), but it's Russian roulette
and I can't test all affected hosts and workloads. Fairly often MSEs
happen after cancellation because the endpoint was stopped.

Signed-off-by: Michal Pecio <michal.pecio@gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://patch.msgid.link/20251119142417.2820519-11-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit e63d2173887c1c7c66898fecd35d4a9eceffd063)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 29e8a0c587e328ed458380a45d6028adf64d7487 ]

In sprd_clk_init(), when devm_clk_get() returns -EPROBE_DEFER
for either uart or source clock, we should propagate the
error instead of just warning and continuing with NULL clocks.

Currently the driver only emits a warning when clock acquisition
fails and proceeds with NULL clock pointers. This can lead to
issues later when the clocks are actually needed. More importantly,
when the clock provider is not ready yet and returns -EPROBE_DEFER,
we should return this error to allow deferred probing.

This change adds explicit checks for -EPROBE_DEFER after both:
1. devm_clk_get(uport->dev, uart)
2. devm_clk_get(uport->dev, source)

When -EPROBE_DEFER is encountered, the function now returns
-EPROBE_DEFER to let the driver framework retry probing
later when the clock dependencies are resolved.

Signed-off-by: Wenhua Lin <Wenhua.Lin@unisoc.com>
Link: https://patch.msgid.link/20251022030840.956589-1-Wenhua.Lin@unisoc.com
Reviewed-by: Cixi Geng <cixi.geng@linux.dev>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit ad9f0f01373c985b61e0e6be5e85685ab2a11635)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit a0a4173631bfcfd3520192c0a61cf911d6a52c3a ]

Passing an empty map to perf_cpu_map__max triggered a SEGV. Explicitly
test for the empty map.

Reported-by: Ingo Molnar <mingo@kernel.org>
Closes: https://lore.kernel.org/linux-perf-users/aSwt7yzFjVJCEmVp@gmail.com/
Tested-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Ian Rogers <irogers@google.com>
Tested-by: Thomas Richter <tmricht@linux.ibm.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 9a9a9b88a8d8120ac139fc18057cdf088cb3d9b0)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit e3c13e0caa8ceb7dec1a7c4fcfd9dbef56a69fbe ]

Set CLK_OPS_PARENT_ENABLE to ensure the parent gets prepared and enabled
when switching to it, fixing an "rcg didn't update its configuration"
warning.

Signed-off-by: Jens Reidel <adrian@mainlining.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250919-sm7150-dispcc-fixes-v1-3-308ad47c5fce@mainlining.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 7b85814424575ef499fd99071a6444615b52f6fe)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
…configured firmware

[ Upstream commit d3429178ee51dd7155445d15a5ab87a45fae3c73 ]

When probing the I2C master, disable SMBus interrupts to prevent
storms caused by broken firmware mis-configuring IC_SMBUS=1; the
handler never services them and a mis-configured SMBUS Master
extend-clock timeout or SMBUS Slave extend-clock timeout can
flood the CPU.

Signed-off-by: Jinhui Guo <guojinhui.liam@bytedance.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20251021075714.3712-2-guojinhui.liam@bytedance.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit ef7653481a059e12c42e01893fd15497330b2e4d)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 55715d7ad5e772d621c3201da3895f250591bce8 ]

Add Legion Go 2 SKU's to the Extreme Mode quirks table.

Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>
Reviewed-by: Armin Wolf <W_Armin@gmx.de>
Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Link: https://patch.msgid.link/20251127151605.1018026-4-derekjohn.clark@gmail.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 3b96dc29e385edd25b3f2ec9f3c705702a7dc982)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit b71cbcf7d170e51148d5467820ae8a72febcb651 ]

nvme_fc_ctrl_put can acquire the rport lock when freeing the
ctrl object:

nvme_fc_ctrl_put
  nvme_fc_ctrl_free
    spin_lock_irqsave(rport->lock)

Thus we can't hold the rport lock when calling nvme_fc_ctrl_put.

Justin suggested use the safe list iterator variant because
nvme_fc_ctrl_put will also modify the rport->list.

Cc: Justin Tee <justin.tee@broadcom.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Daniel Wagner <wagi@kernel.org>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 4f7d90c7184a14dda6c1d38b5017ed0184357e9a)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 4910da6b36b122db50a27fabf6ab7f8611b60bf8 ]

The for_each_child_of_node() macro automatically manages device node
reference counts during normal iteration. However, when breaking out
of the loop early with return, the current iteration's node is not
automatically released, leading to a reference count leak.

Fix this by adding of_node_put(child) before returning from the loop
when emc2305_set_single_tz() fails.

This issue could lead to memory leaks over multiple probe cycles.

Signed-off-by: Pei Xiao <xiaopei01@kylinos.cn>
Link: https://lore.kernel.org/r/tencent_5CDC08544C901D5ECA270573D5AEE3117108@qq.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 76bced5efbf429c1f70475b4e29840b08ad816f2)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
…ures

[ Upstream commit 13989207ee29c40501e719512e8dc90768325895 ]

With authentication, in addition to EKEYREJECTED there is also no point in
retrying reconnects when status is ENOKEY.  Thus, add -ENOKEY as another
criteria to determine when to stop retries.

Cc: Daniel Wagner <wagi@kernel.org>
Cc: Hannes Reinecke <hare@suse.de>
Closes: https://lore.kernel.org/linux-nvme/20250829-nvme-fc-sync-v3-0-d69c87e63aee@kernel.org/
Signed-off-by: Justin Tee <justintee8345@gmail.com>
Tested-by: Daniel Wagner <wagi@kernel.org>
Reviewed-by: Daniel Wagner <wagi@kernel.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 6c95c2e00996ce1d1aedf437311d1d3526c05d04)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
[ Upstream commit 541dfb49dcb80c2509e030842de77adfb77820f5 ]

./drivers/hwmon/emc2305.c:597:4-15: ERROR: probable double put

Device node iterators put the previous value of the index variable, so an
explicit put causes a double put.

Signed-off-by: Pei Xiao <xiaopei01@kylinos.cn>
Link: https://lore.kernel.org/r/tencent_CD373F952BE48697C949E39CB5EB77841D06@qq.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit c3cd1d514eb03c55c986a20bee8ea86c96682aff)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
…quirks

[ Upstream commit b169e1733cadb614e87f69d7a5ae1b186c50d313 ]

Dell Pro Rugged 10/12 tablets has a reliable VGBS method.
If VGBS is not called on boot, the on-screen keyboard won't appear if the
device is booted without a keyboard.

Call VGBS on boot on thess devices to get the initial state of
SW_TABLET_MODE in a reliable way.

Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao@canonical.com>
Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Link: https://patch.msgid.link/20251127070407.656463-1-acelan.kao@canonical.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 6455d25857f21841daa33bf8d732ebc134280a02)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
jhovold and others added 25 commits January 4, 2026 09:57
commit 94124bf253d24b13e89c45618a168d5a1d8a61e7 upstream.

Make sure to drop the reference taken to the pbs platform device when
looking up its driver data.

Note that holding a reference to a device does not prevent its driver
data from going away so there is no point in keeping the reference.

Fixes: 5b2dd77 ("soc: qcom: add QCOM PBS driver")
Cc: stable@vger.kernel.org	# 6.9
Cc: Anjelique Melendez <quic_amelende@quicinc.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20250926143511.6715-3-johan@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 951515391b8f68ed6230d0a0c59409ec2579dbb8)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit b5c16ea57b030b8e9428ec726e26219dfe05c3d9 upstream.

Make sure to drop the reference taken to the ocmem platform device when
looking up its driver data.

Note that holding a reference to a device does not prevent its driver
data from going away so there is no point in keeping the reference.

Also note that commit 0ff0270 ("soc: qcom: ocmem: Fix missing
put_device() call in of_get_ocmem") fixed the leak in a lookup error
path, but the reference is still leaking on success.

Fixes: 88c1e94 ("soc: qcom: add OCMEM driver")
Cc: stable@vger.kernel.org	# 5.5: 0ff0270
Cc: Brian Masney <bmasney@redhat.com>
Cc: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Brian Masney <bmasney@redhat.com>
Link: https://lore.kernel.org/r/20250926143511.6715-2-johan@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b28fd17adfb2131a7194a917453ed347702251b1)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit f401671e90ccc26b3022f177c4156a429c024f6c upstream.

Make sure to drop the reference taken to the mbox platform device when
looking up its driver data.

Note that holding a reference to a device does not prevent its driver
data from going away so there is no point in keeping the reference.

Fixes: 6e1457f ("soc: apple: mailbox: Add ASC/M3 mailbox driver")
Cc: stable@vger.kernel.org	# 6.8
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Signed-off-by: Sven Peter <sven@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 25073a05068e681fb61004fab88979d8865ef36d)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 32200f4828de9d7e6db379909898e718747f4e18 upstream.

Make sure to drop the reference taken to the canvas platform device when
looking up its driver data.

Note that holding a reference to a device does not prevent its driver
data from going away so there is no point in keeping the reference.

Also note that commit 28f851e ("soc: amlogic: canvas: add missing
put_device() call in meson_canvas_get()") fixed the leak in a lookup
error path, but the reference is still leaking on success.

Fixes: d498398 ("soc: amlogic: add meson-canvas driver")
Cc: stable@vger.kernel.org	# 4.20: 28f851e
Cc: Yu Kuai <yukuai3@huawei.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Link: https://patch.msgid.link/20250926142454.5929-2-johan@kernel.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 81bf2780ba433689f80c43a9ac46c03e916a32a9)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit e4240db9336c25826a2d6634adcca86d5ee01bde upstream.

rtla-timerlat allows a *thread* latency threshold to be set via the
-T/--thread option. However, the timerlat tracer calls this *total*
latency (stop_tracing_total_us), and stops tracing also when the
return-to-user latency is over the threshold.

Change the behavior of the timerlat BPF program to reflect what the
timerlat tracer is doing, to avoid discrepancy between stopping
collecting data in the BPF program and stopping tracing in the timerlat
tracer.

Cc: stable@vger.kernel.org
Fixes: e34293d ("rtla/timerlat: Add BPF skeleton to collect samples")
Reviewed-by: Wander Lairson Costa <wander@redhat.com>
Link: https://lore.kernel.org/r/20251006143100.137255-1-tglozar@redhat.com
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 88b71cd0aa39e7c97990a9e9213a360076927610)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit a53e356df548f6b0e82529ef3cc6070f42622189 upstream.

While testing rpmsg-char interface it was noticed that duplicate sysfs
entries are getting created and below warning is noticed.

Reason for this is that we are leaking rpmsg device pointer, setting it
null without actually unregistering device.
Any further attempts to unregister fail because rpdev is NULL,
resulting in a leak.

Fix this by unregistering rpmsg device before removing its reference
from rpmsg channel.

sysfs: cannot create duplicate filename '/devices/platform/soc@0/3700000.remot
eproc/remoteproc/remoteproc1/3700000.remoteproc:glink-edge/3700000.remoteproc:
glink-edge.adsp_apps.-1.-1'
[  114.115347] CPU: 0 UID: 0 PID: 9 Comm: kworker/0:0 Not
 tainted 6.16.0-rc4 deepin-community#7 PREEMPT
[  114.115355] Hardware name: Qualcomm Technologies, Inc. Robotics RB3gen2 (DT)
[  114.115358] Workqueue: events qcom_glink_work
[  114.115371] Call trace:8
[  114.115374]  show_stack+0x18/0x24 (C)
[  114.115382]  dump_stack_lvl+0x60/0x80
[  114.115388]  dump_stack+0x18/0x24
[  114.115393]  sysfs_warn_dup+0x64/0x80
[  114.115402]  sysfs_create_dir_ns+0xf4/0x120
[  114.115409]  kobject_add_internal+0x98/0x260
[  114.115416]  kobject_add+0x9c/0x108
[  114.115421]  device_add+0xc4/0x7a0
[  114.115429]  rpmsg_register_device+0x5c/0xb0
[  114.115434]  qcom_glink_work+0x4bc/0x820
[  114.115438]  process_one_work+0x148/0x284
[  114.115446]  worker_thread+0x2c4/0x3e0
[  114.115452]  kthread+0x12c/0x204
[  114.115457]  ret_from_fork+0x10/0x20
[  114.115464] kobject: kobject_add_internal failed for 3700000.remoteproc:
glink-edge.adsp_apps.-1.-1 with -EEXIST, don't try to register things with
the same name in the same directory.
[  114.250045] rpmsg 3700000.remoteproc:glink-edge.adsp_apps.-1.-1:
device_add failed: -17

Fixes: 835764d ("rpmsg: glink: Move the common glink protocol implementation to glink_native.c")
Cc: Stable@vger.kernel.org
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250822100043.2604794-2-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit f80e4e91b010ee7d6c52f24d069975ac955ac6b2)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
…g channel is enabled

commit fae00ea9f00367771003ace78f29549dead58fc7 upstream.

The rzg2l_gpt_config() tests the rzg2l_gpt->period_tick variable when
both channels of a hardware channel are in use. This check is not valid
if rzg2l_gpt_config() is called after disabling all the channels, as it
tests against the cached value. Hence, allow checking and setting the
cached value only if the sibling channel is enabled.

While at it, drop else after return statement to fix the check patch
warning.

Cc: stable@kernel.org
Fixes: 061f087 ("pwm: Add support for RZ/G2L GPT")
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://patch.msgid.link/20251126104308.142302-1-biju.das.jz@bp.renesas.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 17be376bb250718e466eb33d3538b478781823af)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 527250cd9092461f1beac3e4180a4481bffa01b5 upstream.

Members of struct software_node_ref_args should not be dereferenced
directly but set using the provided macros. Commit d7cdbbc93c56
("software node: allow referencing firmware nodes") changed the name of
the software node member and caused a build failure. Remove all direct
dereferences of the ref struct as a fix.

However, this driver also seems to abuse the software node interface by
waiting for a node with an arbitrary name "intel-xhci-usb-sw" to appear
in the system before setting up the reference for the I2C device, while
the actual software node already exists in the intel-xhci-usb-role-switch
module and should be used to set up a static reference. Add a FIXME for
a future improvement.

Fixes: d7cdbbc93c56 ("software node: allow referencing firmware nodes")
Fixes: 53c24c2 ("platform/x86: intel_cht_int33fe: use inline reference properties")
Cc: stable@vger.kernel.org
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Closes: https://lore.kernel.org/all/20251121111534.7cdbfe5c@canb.auug.org.au/
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 19d61f032c7e052c3afc9a7e8f0aaf136b5732bf)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 1cd5bb6e9e027bab33aafd58fe8340124869ba62 upstream.

Replace the RISCV_ISA_V dependency of the RISC-V crypto code with
RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS, which implies RISCV_ISA_V as
well as vector unaligned accesses being efficient.

This is necessary because this code assumes that vector unaligned
accesses are supported and are efficient.  (It does so to avoid having
to use lots of extra vsetvli instructions to switch the element width
back and forth between 8 and either 32 or 64.)

This was omitted from the code originally just because the RISC-V kernel
support for detecting this feature didn't exist yet.  Support has now
been added, but it's fragmented into per-CPU runtime detection, a
command-line parameter, and a kconfig option.  The kconfig option is the
only reasonable way to do it, though, so let's just rely on that.

Fixes: eb24af5 ("crypto: riscv - add vector crypto accelerated AES-{ECB,CBC,CTR,XTS}")
Fixes: bb54668 ("crypto: riscv - add vector crypto accelerated ChaCha20")
Fixes: 600a385 ("crypto: riscv - add vector crypto accelerated GHASH")
Fixes: 8c8e404 ("crypto: riscv - add vector crypto accelerated SHA-{256,224}")
Fixes: b341592 ("crypto: riscv - add vector crypto accelerated SHA-{512,384}")
Fixes: 563a525 ("crypto: riscv - add vector crypto accelerated SM3")
Fixes: b8d0635 ("crypto: riscv - add vector crypto accelerated SM4")
Cc: stable@vger.kernel.org
Reported-by: Vivian Wang <wangruikang@iscas.ac.cn>
Closes: https://lore.kernel.org/r/b3cfcdac-0337-4db0-a611-258f2868855f@iscas.ac.cn/
Reviewed-by: Jerry Shih <jerry.shih@sifive.com>
Link: https://lore.kernel.org/r/20251206213750.81474-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit fb5b47ad5387692b39b1f885d81d72501840d86f)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit a6ee6aac66fb394b7f6e6187c73bdcd873f2d139 upstream.

In i2c_amd_probe(), amd_mp2_find_device() utilizes
driver_find_next_device() which internally calls driver_find_device()
to locate the matching device. driver_find_device() increments the
reference count of the found device by calling get_device(), but
amd_mp2_find_device() fails to call put_device() to decrement the
reference count before returning. This results in a reference count
leak of the PCI device each time i2c_amd_probe() is executed, which
may prevent the device from being properly released and cause a memory
leak.

Found by code review.

Cc: stable@vger.kernel.org
Fixes: 529766e ("i2c: Add drivers for the AMD PCIe MP2 I2C controller")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20251022095402.8846-1-make24@iscas.ac.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 5fa6c144d3fb8506a5aa925205df8da4ffe0a274)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 295f58fdccd05b2d6da1f4a4f81952ccb565c4dc upstream.

As like other SDX SoCs, SDX75 SoC's QPIC BCM resource was modeled as a
RPMh clock in clk-rpmh driver. However, for SDX75, this resource was also
described as an interconnect and BCM node mistakenly. It is incorrect to
describe the same resource in two different providers, as it will lead to
votes from clients overriding each other.

Hence, drop the QPIC interconnect and BCM nodes and let the clients use
clk-rpmh driver to vote for this resource.

Without this change, the NAND driver fails to probe on SDX75, as the
interconnect sync state disables the QPIC nodes as there were no clients
voting for this ICC resource. However, the NAND driver had already voted
for this BCM resource through the clk-rpmh driver. Since both votes come
from Linux, RPMh was unable to distinguish between these two and ends up
disabling the QPIC resource during sync state.

Cc: stable@vger.kernel.org
Fixes: 3642b4e ("interconnect: qcom: Add SDX75 interconnect provider driver")
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com>
[mani: dropped the reference to bcm_qp0, reworded description]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Tested-by: Lakshmi Sowjanya D <quic_laksd@quicinc.com>  # on SDX75
Link: https://lore.kernel.org/r/20250926-sdx75-icc-v2-1-20d6820e455c@oss.qualcomm.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c95e4c4caf9a652d882431f1254629b2181f33ea)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 525916ce496615f531091855604eab9ca573b195 upstream.

When cloning with node replacements (IORING_REGISTER_DST_REPLACE),
destination entries after the cloned range are not copied over.

Add logic to copy them over to the new destination table.

Fixes: c132953 ("io_uring/rsrc: allow cloning with node replacements")
Cc: stable@vger.kernel.org
Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 5b804b8f1e0d66413774d43f7a4b78bba0ca6272)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit b8d5acdcf525f44e521ca4ef51dce4dac403dab4 upstream.

In max16065_current_show, data->curr_sense is read twice: once for the
error check and again for the calculation. Since
i2c_smbus_read_byte_data returns negative error codes on failure, if the
data changes to an error code between the check and the use, ADC_TO_CURR
results in an incorrect calculation.

Read data->curr_sense into a local variable to ensure consistency. Note
that data->curr_gain is constant and safe to access directly.

This aligns max16065_current_show with max16065_input_show, which
already uses a local variable for the same reason.

Link: https://lore.kernel.org/all/CALbr=LYJ_ehtp53HXEVkSpYoub+XYSTU8Rg=o1xxMJ8=5z8B-g@mail.gmail.com/
Fixes: f5bae26 ("hwmon: Driver for MAX16065 System Manager and compatibles")
Cc: stable@vger.kernel.org
Signed-off-by: Gui-Dong Han <hanguidong02@gmail.com>
Link: https://lore.kernel.org/r/20251128124709.3876-1-hanguidong02@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit ef901d211dcce1bcab6a7e7ee196504c5ae1db10)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 02f0ad8e8de8cf5344f8f0fa26d9529b8339da47 upstream.

The i2c regmap allocated during probe is never freed.

Switch to using the device managed allocator so that the regmap is
released on probe failures (e.g. probe deferral) and on driver unbind.

Fixes: 3a2a8cc ("hwmon: (max6697) Convert to use regmap")
Cc: stable@vger.kernel.org	# 6.12
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20251127134351.1585-1-johan@kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit ffd46e7f2b87a873bd18db946d61e3466f3ca82f)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 670d7ef945d3a84683594429aea6ab2cdfa5ceb4 upstream.

The macro FAN_FROM_REG evaluates its arguments multiple times. When used
in lockless contexts involving shared driver data, this leads to
Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially
causing divide-by-zero errors.

Convert the macro to a static function. This guarantees that arguments
are evaluated only once (pass-by-value), preventing the race
conditions.

Additionally, in store_fan_div, move the calculation of the minimum
limit inside the update lock. This ensures that the read-modify-write
sequence operates on consistent data.

Adhere to the principle of minimal changes by only converting macros
that evaluate arguments multiple times and are used in lockless
contexts.

Link: https://lore.kernel.org/all/CALbr=LYJ_ehtp53HXEVkSpYoub+XYSTU8Rg=o1xxMJ8=5z8B-g@mail.gmail.com/
Fixes: 9873964 ("[PATCH] HWMON: w83791d: New hardware monitoring driver for the Winbond W83791D")
Cc: stable@vger.kernel.org
Signed-off-by: Gui-Dong Han <hanguidong02@gmail.com>
Link: https://lore.kernel.org/r/20251202180105.12842-1-hanguidong02@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c8cf0c2bdcccc6634b6915ff793b844e12436680)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 07272e883fc61574b8367d44de48917f622cdd83 upstream.

The macros FAN_FROM_REG and TEMP_FROM_REG evaluate their arguments
multiple times. When used in lockless contexts involving shared driver
data, this causes Time-of-Check to Time-of-Use (TOCTOU) race
conditions.

Convert the macros to static functions. This guarantees that arguments
are evaluated only once (pass-by-value), preventing the race
conditions.

Adhere to the principle of minimal changes by only converting macros
that evaluate arguments multiple times and are used in lockless
contexts.

Link: https://lore.kernel.org/all/CALbr=LYJ_ehtp53HXEVkSpYoub+XYSTU8Rg=o1xxMJ8=5z8B-g@mail.gmail.com/
Fixes: 85f03bc ("hwmon: Add support for Winbond W83L786NG/NR")
Cc: stable@vger.kernel.org
Signed-off-by: Gui-Dong Han <hanguidong02@gmail.com>
Link: https://lore.kernel.org/r/20251128123816.3670-1-hanguidong02@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 4fc2f8fbfdd43257c9a90b6730e80c0dc952575c)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 7d5864dc5d5ea6a35983dd05295fb17f2f2f44ce upstream.

Unlike standalone spi peripherals, on sama5d2, the flexcom spi have fifo
size of 32 data. Fix flexcom/spi nodes where this property is wrong.

Fixes: 6b9a358 ("ARM: dts: at91: sama5d2: Add missing flexcom definitions")
Cc: stable@vger.kernel.org # 5.8+
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20251114140225.30372-1-nicolas.ferre@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c2423add62422d8b74b7d7d6e40cd0b1dba188cd)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 1f591be0a02c697f65a21be35f1d74117bbf4be2 upstream.

On some flexcom nodes related to uart, the fifo sizes were wrong: fix
them to 32 data.  Note that product datasheet is being reviewed to fix
inconsistency, but this value is validated by product's designers.

Fixes: 261dcfa ("ARM: dts: microchip: add sama7d65 SoC DT")
Fixes: b51e4ae ("ARM: dts: microchip: sama7d65: Add FLEXCOMs to sama7d65 SoC")
Cc: stable@vger.kernel.org # 6.16+
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20251114103313.20220-1-nicolas.ferre@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 699d66165f6c86ae9127b626045372b7abfb2918)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 5654889a94b0de5ad6ceae3793e7f5e0b61b50b6 upstream.

On some flexcom nodes related to uart, the fifo sizes were wrong: fix
them to 32 data.

Fixes: 7540629 ("ARM: dts: at91: add sama7g5 SoC DT and sama7g5-ek")
Cc: stable@vger.kernel.org # 5.15+
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20251114103313.20220-2-nicolas.ferre@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit ce909de4416eb544a9138b3c9be14c986b8d88ae)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit bba4322e3f303b2d656e748be758320b567f046f upstream.

Modify disk_update_zone_resources() to freeze the device queue before
updating the number of zones, zone capacity and other zone related
resources. The locking order resulting from the call to
queue_limits_commit_update_frozen() is preserved, that is, the queue
limits lock is first taken by calling queue_limits_start_update() before
freezing the queue, and the queue is unfrozen after executing
queue_limits_commit_update(), which replaces the call to
queue_limits_commit_update_frozen().

This change ensures that there are no in-flights I/Os when the zone
resources are updated due to a zone revalidation. In case of error when
the limits are applied, directly call disk_free_zone_resources() from
disk_update_zone_resources() while the disk queue is still frozen to
avoid needing to freeze & unfreeze the queue again in
blk_revalidate_disk_zones(), thus simplifying that function code a
little.

Fixes: 0b83c86 ("block: Prevent potential deadlock in blk_revalidate_disk_zones()")
Cc: stable@vger.kernel.org
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit bf58ef1c4cd3cd9cfd205f0d3e3bf70085a52e31)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit de83d4617f9fe059623e97acf7e1e10d209625b5 upstream.

The driver is dropping the references taken to the larb devices during
probe after successful lookup as well as on errors. This can
potentially lead to a use-after-free in case a larb device has not yet
been bound to its driver so that the iommu driver probe defers.

Fix this by keeping the references as expected while the iommu driver is
bound.

Fixes: 2659392 ("iommu/mediatek: Add error path for loop of mm_dts_parse")
Cc: stable@vger.kernel.org
Cc: Yong Wu <yong.wu@mediatek.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Yong Wu <yong.wu@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit f6c08d3aa441bbc1956e9d65f1cbb89113a5aa8a)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 95c39eef7c2b666026c69ab5b30471da94ea2874 upstream.

When a request is terminated before it has been committed, the request
is not removed from the queue's list. This leaves a dangling list entry
that leads to list corruption and use-after-free issues.

Remove the request from the queue's list for terminated non-committed
requests.

Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Fixes: c090c8a ("fuse: Add io-uring sqe commit and fetch support")
Cc: stable@vger.kernel.org
Reviewed-by: Bernd Schubert <bschubert@ddn.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit a6d1f1ace16d0e777a85f84267160052d3499b6e)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit bd5603eaae0aabf527bfb3ce1bb07e979ce5bd50 upstream.

Commit e26ee4e ("fuse: allocate ff->release_args only if release is
needed") skips allocating ff->release_args if the server does not
implement open. However in doing so, fuse_prepare_release() now skips
grabbing the reference on the inode, which makes it possible for an
inode to be evicted from the dcache while there are inflight readahead
requests. This causes a deadlock if the server triggers reclaim while
servicing the readahead request and reclaim attempts to evict the inode
of the file being read ahead. Since the folio is locked during
readahead, when reclaim evicts the fuse inode and fuse_evict_inode()
attempts to remove all folios associated with the inode from the page
cache (truncate_inode_pages_range()), reclaim will block forever waiting
for the lock since readahead cannot relinquish the lock because it is
itself blocked in reclaim:

>>> stack_trace(1504735)
 folio_wait_bit_common (mm/filemap.c:1308:4)
 folio_lock (./include/linux/pagemap.h:1052:3)
 truncate_inode_pages_range (mm/truncate.c:336:10)
 fuse_evict_inode (fs/fuse/inode.c:161:2)
 evict (fs/inode.c:704:3)
 dentry_unlink_inode (fs/dcache.c:412:3)
 __dentry_kill (fs/dcache.c:615:3)
 shrink_kill (fs/dcache.c:1060:12)
 shrink_dentry_list (fs/dcache.c:1087:3)
 prune_dcache_sb (fs/dcache.c:1168:2)
 super_cache_scan (fs/super.c:221:10)
 do_shrink_slab (mm/shrinker.c:435:9)
 shrink_slab (mm/shrinker.c:626:10)
 shrink_node (mm/vmscan.c:5951:2)
 shrink_zones (mm/vmscan.c:6195:3)
 do_try_to_free_pages (mm/vmscan.c:6257:3)
 do_swap_page (mm/memory.c:4136:11)
 handle_pte_fault (mm/memory.c:5562:10)
 handle_mm_fault (mm/memory.c:5870:9)
 do_user_addr_fault (arch/x86/mm/fault.c:1338:10)
 handle_page_fault (arch/x86/mm/fault.c:1481:3)
 exc_page_fault (arch/x86/mm/fault.c:1539:2)
 asm_exc_page_fault+0x22/0x27

Fix this deadlock by allocating ff->release_args and grabbing the
reference on the inode when preparing the file for release even if the
server does not implement open. The inode reference will be dropped when
the last reference on the fuse file is dropped (see fuse_file_put() ->
fuse_release_end()).

Fixes: e26ee4e ("fuse: allocate ff->release_args only if release is needed")
Cc: stable@vger.kernel.org
Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Reported-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit e0d6de83a4cc22bbac72713f3a58121af36cc411)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
commit 6e0d7f7f4a43ac8868e98c87ecf48805aa8c24dd upstream.

Fix a possible reference count leak of payload pages during
fuse argument copies.

[Joanne: simplified error cleanup]

Fixes: c090c8a ("fuse: Add io-uring sqe commit and fetch support")
Cc: stable@vger.kernel.org # v6.14
Signed-off-by: Cheng Ding <cding@ddn.com>
Signed-off-by: Bernd Schubert <bschubert@ddn.com>
Reviewed-by: Joanne Koong <joannelkoong@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b79938863f436960eff209130f025c4bd3026bf8)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Link: https://lore.kernel.org/r/20251229160724.139406961@linuxfoundation.org
Tested-by: Brett A C Sheffield <bacs@librecast.net>
Tested-by: Salvatore Bonaccorso <carnil@debian.org>
Tested-by: Ronald Warsow <rwarsow@gmx.de>
Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com>
Tested-by: Ron Economos <re@w6rz.net>
Tested-by: Peter Schneider <pschneider1968@googlemail.com>
Tested-by: Justin M. Forbes <jforbes@fedoraproject.org>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Tested-by: Jeffrin Jose T <jeffrin@rajagiritech.edu.in>
Tested-by: Dileep Malepu dileep.debian@gmail.com
Tested-by: Miguel Ojeda <ojeda@kernel.org>
Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit a607c8f744340ad2c2486d46e96b66df47caffba)
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, we are unable to review this pull request

The GitHub API does not allow us to fetch diffs exceeding 300 files, and this pull request has 441

Copy link
Member

@Cryolitia Cryolitia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.