Skip to contentSkip to conversation

6.10.3-rc3 review

PATCH In review Greg Kroah-Hartman 25 participants 65 messages Jul 31, 2024 – Sep 3, 2024

Subsystems (5)
lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

cover 6.10.3-rc3 review

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

	https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.10.3-rc3.gz

or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.10.y
and the diffstat can be found below.

thanks,

greg k-h

-------------
Pseudo-Shortlog of commits:

Greg Kroah-Hartman <[email protected]>

    Linux 6.10.3-rc3

Daniel Borkmann <[email protected]>
selftests/bpf: DENYLIST.aarch64: Skip fexit_sleep again

Paul Moore <[email protected]>
selinux,smack: remove the capability checks in the removexattr hooks

Esben Haabendal <[email protected]>
powerpc/configs: Update defconfig with now user-visible CONFIG_FSL_IFC

James Clark <[email protected]>
perf dso: Fix build when libunwind is enabled

Karthikeyan Periyasamy <[email protected]>
wifi: ath12k: fix mbssid max interface advertisement

Seth Forshee (DigitalOcean) <[email protected]>
fs: don't allow non-init s_user_ns for filesystems without FS_USERNS_MOUNT

Jarkko Nikula <[email protected]>
i3c: mipi-i3c-hci: Fix number of DAT/DCT entries for HCI versions < 1.1

Leon Romanovsky <[email protected]>
nvme-pci: add missing condition check for existence of mapped data

Georgia Garcia <[email protected]>
apparmor: unpack transition table if dfa is not present

Ming Lei <[email protected]>
ublk: fix UBLK_CMD_DEL_DEV_ASYNC handling

Pavel Begunkov <[email protected]>
io_uring: fix io_match_task must_hold

Rafael J. Wysocki <[email protected]>
thermal: core: Back off when polling thermal zones on errors

Rafael J. Wysocki <[email protected]>
thermal: trip: Split thermal_zone_device_set_mode()

Artem Chernyshev <[email protected]>
iommu: sprd: Avoid NULL deref in sprd_iommu_hw_en

Thomas Richter <[email protected]>
s390/cpum_cf: Fix endless loop in CF_DIAG event stop

Vasily Gorbik <[email protected]>
s390/setup: Fix __pa/__va for modules under non-GPL licenses

Gerd Bayer <[email protected]>
s390/pci: Allow allocation of more than 1 MSI interrupt

Gerd Bayer <[email protected]>
s390/pci: Refactor arch_setup_msi_irqs()

ethanwu <[email protected]>
ceph: fix incorrect kmalloc size of pagevec mempool

Anna-Maria Behnsen <[email protected]>

    timers/migration: Do not rely always on group->parent

Dan Carpenter <[email protected]>
ASoC: TAS2781: Fix tasdev_load_calibrated_data()

Pierre-Louis Bossart <[email protected]>
ASoC: Intel: use soc_intel_is_byt_cr() only when IOSF_MBI is reachable

Michal Wajdeczko <[email protected]>
drm/xe/pf: Limit fair VF LMEM provisioning

Ashutosh Dixit <[email protected]>
drm/xe/exec: Fix minor bug related to xe_sync_entry_cleanup

Conor Dooley <[email protected]>
spi: spidev: add correct compatible for Rohm BH2228FV

Venkata Prasad Potturu <[email protected]>
ASoC: sof: amd: fix for firmware reload failure in Vangogh platform

Curtis Malainey <[email protected]>
ASoC: Intel: Fix RT5650 SSP lookup

Pierre-Louis Bossart <[email protected]>
ASOC: SOF: Intel: hda-loader: only wait for HDaudio IOC for IPC4 devices

Bart Van Assche <[email protected]>
nvme-pci: Fix the instructions for disabling power management

Steve Wilkins <[email protected]>
spi: microchip-core: ensure TX and RX FIFOs are empty at start of a transfer

Steve Wilkins <[email protected]>
spi: microchip-core: fix init function not setting the master and motorola modes

Steve Wilkins <[email protected]>
spi: microchip-core: only disable SPI controller when register value change requires it

Steve Wilkins <[email protected]>
spi: microchip-core: defer asserting chip select until just before write to TX FIFO

Naga Sureshkumar Relli <[email protected]>
spi: microchip-core: fix the issues in the isr

Daniel Baluta <[email protected]>
ASoC: SOF: imx8m: Fix DSP control regmap retrieval

Markus Elfring <[email protected]>
auxdisplay: ht16k33: Drop reference after LED registration

Al Viro <[email protected]>
lirc: rc_dev_get_from_fd(): fix file leak

Al Viro <[email protected]>
powerpc: fix a file leak in kvm_vcpu_ioctl_enable_cap()

Xiao Liang <[email protected]>
apparmor: Fix null pointer deref when receiving skb during sock creation

Dan Carpenter <[email protected]>
mISDN: Fix a use after free in hfcmulti_tx()

Stanislav Fomichev <[email protected]>
xsk: Require XDP_UMEM_TX_METADATA_LEN to actuate tx_metadata_len

Fred Li <[email protected]>
bpf: Fix a segment issue when downgrading gso_size

Breno Leitao <[email protected]>
net: mediatek: Fix potential NULL pointer dereference in dummy net_device handling

Petr Machata <[email protected]>
net: nexthop: Initialize all fields in dumped nexthops

Simon Horman <[email protected]>
net: stmmac: Correct byte order of perfect_match

Hangbin Liu <[email protected]>
selftests: forwarding: skip if kernel not support setting bridge fdb learning limit

Shigeru Yoshida <[email protected]>
tipc: Return non-zero value from tipc_udp_addr2str() on error

David Howells <[email protected]>
netfs: Fix writeback that needs to go to both server and cache

Florian Westphal <[email protected]>
netfilter: nft_set_pipapo_avx2: disable softinterrupts

Wojciech Drewek <[email protected]>
ice: Fix recipe read procedure

Johannes Berg <[email protected]>
net: bonding: correctly annotate RCU in bond_should_notify_peers()

Ido Schimmel <[email protected]>
ipv4: Fix incorrect source address in Record Route option

Gregory CLEMENT <[email protected]>
MIPS: SMP-CPS: Fix address for GCR_ACCESS register for CM3 and later

Liwei Song <[email protected]>
tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids

Hou Tao <[email protected]>
bpf, events: Use prog to emit ksymbol event for main program

Lance Richardson <[email protected]>
dma: fix call order in dmam_free_coherent

Michal Luczaj <[email protected]>
af_unix: Disable MSG_OOB handling for sockets in sockmap/sockhash

Andrii Nakryiko <[email protected]>
libbpf: Fix no-args func prototype BTF dumping syntax

Puranjay Mohan <[email protected]>
selftests/bpf: fexit_sleep: Fix stack allocation for arm64

Masahiro Yamada <[email protected]>
kbuild: avoid build error when single DTB is turned into composite DTB

Chao Yu <[email protected]>
f2fs: fix to update user block counts in block_operations()

Daejun Park <[email protected]>
f2fs: fix null reference error when checking end of zone

Claudiu Beznea <[email protected]>
watchdog: rzg2l_wdt: Check return status of pm_runtime_put()

Claudiu Beznea <[email protected]>
watchdog: rzg2l_wdt: Use pm_runtime_resume_and_get()

Sheng Yong <[email protected]>
f2fs: fix start segno of large section

Johannes Berg <[email protected]>
um: time-travel: fix signal blocking race/hang

David Gow <[email protected]>
arch: um: rust: Use the generated target.json again

Johannes Berg <[email protected]>
um: time-travel: fix time-travel-start option

Sean Anderson <[email protected]>
phy: zynqmp: Enable reference clock correctly

Ma Ke <[email protected]>
phy: cadence-torrent: Check return value on register read

Cristian Ciocaltea <[email protected]>
phy: phy-rockchip-samsung-hdptx: Select CONFIG_MFD_SYSCON

Vignesh Raghavendra <[email protected]>
dmaengine: ti: k3-udma: Fix BCHAN count with UHC and HC channels

Jeongjun Park <[email protected]>
jfs: Fix array-index-out-of-bounds in diFree

Douglas Anderson <[email protected]>
kdb: Use the passed prompt in kdb_position_cursor()

Arnd Bergmann <[email protected]>
kdb: address -Wformat-security warnings

Dmitry Baryshkov <[email protected]>
phy: qcom: qmp-pcie: restore compatibility with existing DTs

Chao Yu <[email protected]>
f2fs: fix to truncate preallocated blocks in f2fs_file_open()

Linus Torvalds <[email protected]>
minmax: scsi: fix mis-use of 'clamp()' in sr.c

WangYuli <[email protected]>

    Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x13d3:0x3591

Hilda Wu <[email protected]>
Bluetooth: btusb: Add RTL8852BE device 0489:e125 to device tables

Ilya Dryomov <[email protected]>
rbd: don't assume RBD_LOCK_STATE_LOCKED for exclusive mappings

Ilya Dryomov <[email protected]>
rbd: rename RBD_LOCK_STATE_RELEASING and releasing_wait

Dragan Simic <[email protected]>
drm/panfrost: Mark simple_ondemand governor as softdep

Lucas Stach <[email protected]>
drm/etnaviv: don't block scheduler when GPU is still active

Jiaxun Yang <[email protected]>
MIPS: Loongson64: Test register availability before use

Jiaxun Yang <[email protected]>
MIPS: Loongson64: reset: Prioritise firmware service

Jiaxun Yang <[email protected]>
MIPS: Loongson64: Remove memory node for builtin-dtb

Jiaxun Yang <[email protected]>
MIPS: Loongson64: env: Hook up Loongsson-2K

Jiaxun Yang <[email protected]>
MIPS: dts: loongson: Fix GMAC phy node

Jiaxun Yang <[email protected]>
MIPS: ip30: ip30-console: Add missing include

Jiaxun Yang <[email protected]>
MIPS: dts: loongson: Add ISA node

Aleksandr Mishin <[email protected]>
remoteproc: imx_rproc: Fix refcount mistake in imx_rproc_addr_init

Aleksandr Mishin <[email protected]>
remoteproc: imx_rproc: Skip over memory region when node value is NULL

Gwenael Treuveur <[email protected]>
remoteproc: stm32_rproc: Fix mailbox interrupts queuing

Ilya Dryomov <[email protected]>
rbd: don't assume rbd_is_lock_owner() for exclusive mappings

Eric Biggers <[email protected]>
dm-verity: fix dm_is_verity_target() when dm-verity is builtin

Michael Ellerman <[email protected]>
selftests/sigaltstack: Fix ppc64 GCC build

Kim Phillips <[email protected]>
crypto: ccp - Fix null pointer dereference in __sev_snp_shutdown_locked

Bart Van Assche <[email protected]>
RDMA/iwcm: Fix a use-after-free related to destroying CM IDs

Jiaxun Yang <[email protected]>
platform: mips: cpu_hwmon: Disable driver on unsupported hardware

Peter Ujfalusi <[email protected]>
ASoC: SOF: ipc4-topology: Use correct queue_id for requesting input pin format

Krzysztof Kozlowski <[email protected]>
ASoC: codecs: wcd939x: Fix typec mux and switch leak during device removal

Manivannan Sadhasivam <[email protected]>
bus: mhi: ep: Do not allocate memory for MHI objects from DMA zone

Thomas Gleixner <[email protected]>
watchdog/perf: properly initialize the turbo mode timestamp and rearm counter

Joy Chakraborty <[email protected]>

    rtc: abx80x: Fix return value of nvmem callback on read

Joy Chakraborty <[email protected]>
rtc: isl1208: Fix return value of nvmem callbacks

Imre Deak <[email protected]>
drm/i915/dp: Don't switch the LTTPR mode on an active link

Imre Deak <[email protected]>

    drm/i915/dp: Reset intel_dp->link_trained before retraining the link

Ma Ke <[email protected]>
drm/amd/amdgpu: Fix uninitialized variable warnings

Tim Huang <[email protected]>
drm/amdgpu: add missed harvest check for VCN IP v4/v5

ZhenGuo Yin <[email protected]>
drm/amdgpu: reset vm state machine after gpu reset(vram lost)

Wayne Lin <[email protected]>
drm/dp_mst: Fix all mstb marked as not probed after suspend/resume

Thomas Zimmermann <[email protected]>
drm/udl: Remove DRM_CONNECTOR_POLL_HPD

Alex Deucher <[email protected]>
drm/amdgpu/sdma5.2: Update wptr registers as well as doorbell

Nitin Gote <[email protected]>
drm/i915/gt: Do not consider preemption during execlists_dequeue for gen8

Adrian Hunter <[email protected]>
perf/x86/intel/pt: Fix a topa_entry base address calculation

Marco Cavenati <[email protected]>
perf/x86/intel/pt: Fix topa_entry base length

Kan Liang <[email protected]>
perf/x86/intel/ds: Fix non 0 retire latency on Raptorlake

Kan Liang <[email protected]>
perf/x86/intel/uncore: Fix the bits of the CHA extended umask for SPR

Kan Liang <[email protected]>
perf stat: Fix the hard-coded metrics calculation on the hybrid

Frederic Weisbecker <[email protected]>
perf: Fix event leak upon exec and file release

Frederic Weisbecker <[email protected]>
perf: Fix event leak upon exit

Nilesh Javali <[email protected]>
scsi: qla2xxx: validate nvme_local_port correctly

Shreyas Deodhar <[email protected]>
scsi: qla2xxx: Complete command early within lock

Quinn Tran <[email protected]>
scsi: qla2xxx: Fix flash read failure

Quinn Tran <[email protected]>
scsi: qla2xxx: Reduce fabric scan duplicate code

Quinn Tran <[email protected]>
scsi: qla2xxx: Use QP lock to search for bsg

Shreyas Deodhar <[email protected]>
scsi: qla2xxx: Fix for possible memory corruption

Quinn Tran <[email protected]>
scsi: qla2xxx: Unable to act on RSCN for port online

Manish Rangankar <[email protected]>
scsi: qla2xxx: During vport delete send async logout explicitly

Justin Tee <[email protected]>
scsi: lpfc: Allow DEVICE_RECOVERY mode after RSCN receipt if in PRLI_ISSUE state

Joy Chakraborty <[email protected]>
rtc: cmos: Fix return value of nvmem callbacks

Tvrtko Ursulin <[email protected]>
mm/numa_balancing: teach mpol_to_str about the balancing mode

Shenwei Wang <[email protected]>
irqchip/imx-irqsteer: Handle runtime power management correctly

Mateusz Jończyk <[email protected]>
md/raid1: set max_sectors during early return from choose_slow_rdev()

Herve Codina <[email protected]>
irqdomain: Fixed unbalanced fwnode get and put

Zijun Hu <[email protected]>
devres: Fix memory leakage caused by driver API devm_free_percpu()

Zijun Hu <[email protected]>
devres: Fix devm_krealloc() wasting memory

Yijie Yang <[email protected]>
dt-bindings: phy: qcom,qmp-usb: fix spelling error

Ahmed Zaki <[email protected]>
ice: Add a per-VF limit on number of FDIR filters

Bailey Forrest <[email protected]>
gve: Fix an edge case for TSO skb validity check

Zijun Hu <[email protected]>
kobject_uevent: Fix OOB access within zap_modalias_env()

Will Deacon <[email protected]>
arm64: mm: Fix lockless walks with static and dynamic page-table folding

Takashi Iwai <[email protected]>
ASoC: amd: yc: Support mic on Lenovo Thinkpad E16 Gen 2

Peter Ujfalusi <[email protected]>
ASoC: SOF: ipc4-topology: Preserve the DMA Link ID for ChainDMA on unprepare

Peter Ujfalusi <[email protected]>
ASoC: SOF: ipc4-topology: Only handle dai_config with HW_PARAMS for ChainDMA

Suren Baghdasaryan <[email protected]>
alloc_tag: outline and export free_reserved_page()

Nathan Chancellor <[email protected]>
kbuild: Fix '-S -c' in x86 stack protector scripts

Ross Lagerwall <[email protected]>
decompress_bunzip2: fix rare decompression failure

Ram Tummala <[email protected]>
mm: fix old/young bit handling in the faulting path

Yang Yang <[email protected]>
block: fix deadlock between sd_remove & sd_release

Krzysztof Kozlowski <[email protected]>
clk: samsung: fix getting Exynos4 fin_pll rate from external clocks

Fedor Pchelkin <[email protected]>
ubi: eba: properly rollback inside self_check_eba

Bastien Curutchet <[email protected]>
clk: davinci: da8xx-cfgchip: Initialize clk_init_data before use

Ryusuke Konishi <[email protected]>
nilfs2: handle inconsistent state in nilfs_btnode_create_block()

Joy Zou <[email protected]>
dmaengine: fsl-edma: change the memory access from local into remote mode in i.MX 8QM

Sunmin Jeong <[email protected]>
f2fs: use meta inode for GC of COW file

Sunmin Jeong <[email protected]>
f2fs: use meta inode for GC of atomic file

Chao Yu <[email protected]>
f2fs: fix return value of f2fs_convert_inline_inode()

Chao Yu <[email protected]>
f2fs: fix to don't dirty inode for readonly filesystem

Chao Yu <[email protected]>
f2fs: fix to force buffered IO on inline_data inode

Herve Codina <[email protected]>
ASoC: fsl: fsl_qmc_audio: Check devm_kasprintf() returned value

Saurav Kashyap <[email protected]>
scsi: qla2xxx: Return ENOBUFS if sg_cnt is more than one for ELS cmds

Huacai Chen <[email protected]>

    fs/ntfs3: Update log->page_{mask,bits} if log->page_size changed

Li Zhijian <[email protected]>

    mm/page_alloc: fix pcp->count race between drain_pages_zone() vs __rmqueue_pcplist()

Gao Xiang <[email protected]>
erofs: fix race in z_erofs_get_gbuf()

Qiang Ma <[email protected]>
efi/libstub: Zero initialize heap allocated struct screen_info

Johannes Berg <[email protected]>
hostfs: fix dev_t handling

tuhaowen <[email protected]>
dev/parport: fix the array out-of-bounds risk

Reka Norman <[email protected]>
xhci: Apply XHCI_RESET_TO_DEFAULT quirk to TGL

Carlos Llamas <[email protected]>
binder: fix hang of unregistered readers

Huacai Chen <[email protected]>
PCI: loongson: Enable MSI in LS7A Root Complex

Manivannan Sadhasivam <[email protected]>
PCI: rockchip: Use GPIOD_OUT_LOW flag while requesting ep_gpio

Niklas Cassel <[email protected]>
PCI: dw-rockchip: Fix initial PERST# GPIO value

Wei Liu <[email protected]>
PCI: hv: Return zero, not garbage, when reading PCI_INTERRUPT_PIN

Lukas Wunner <[email protected]>
PCI/DPC: Fix use-after-free on concurrent DPC and hot-removal

John David Anglin <[email protected]>
parisc: Fix warning at drivers/pci/msi/msi.h:121

Ilpo Järvinen <[email protected]>
hwrng: amd - Convert PCIBIOS_* return codes to errnos

Thomas Huth <[email protected]>
drm/fbdev-dma: Fix framebuffer mode for big endian devices

Thomas Zimmermann <[email protected]>
fbdev: vesafb: Detect VGA compatibility from screen info's VESA attributes

Alan Stern <[email protected]>
tools/memory-model: Fix bug in lock.cat

wangdicheng <[email protected]>
ALSA: usb-audio: Add a quirk for Sonix HD USB Camera

Takashi Iwai <[email protected]>
ALSA: usb-audio: Move HD Webcam quirk to the right place

wangdicheng <[email protected]>
ALSA: usb-audio: Fix microphone sound on HD webcam.

Takashi Iwai <[email protected]>
ALSA: ump: Force 1 Group for MIDI1 FBs

Takashi Iwai <[email protected]>
ALSA: ump: Don't update FB name for static blocks

Takashi Sakamoto <[email protected]>
ALSA: firewire-lib: fix wrong value as length of header for CIP_NO_HEADER case

Luke D. Jones <[email protected]>
ALSA: hda/realtek: cs35l41: Fixup remaining asus strix models

Sean Christopherson <[email protected]>
KVM: nVMX: Fold requested virtual interrupt check into has_nested_events()

Sean Christopherson <[email protected]>
KVM: nVMX: Check for pending posted interrupts when looking for nested events

Sean Christopherson <[email protected]>
KVM: nVMX: Request immediate exit iff pending nested event needs injection

Sean Christopherson <[email protected]>
KVM: nVMX: Add a helper to get highest pending from Posted Interrupt vector

Sean Christopherson <[email protected]>
KVM: VMX: Split out the non-virtualization part of vmx_interrupt_blocked()

Gautam Menghani <[email protected]>
KVM: PPC: Book3S HV nestedv2: Add DPDES support in helper library for Guest state buffer

Gautam Menghani <[email protected]>
KVM: PPC: Book3S HV nestedv2: Fix doorbell emulation

Jason Chen <[email protected]>
remoteproc: mediatek: Increase MT8188/MT8195 SCP core0 DRAM size

Wentong Wu <[email protected]>
media: ivsc: csi: don't count privacy on as error

Ricardo Ribalda <[email protected]>
media: uvcvideo: Fix integer overflow calculating timestamp

Jan Kara <[email protected]>
jbd2: avoid infinite transaction commit loop

Jan Kara <[email protected]>
jbd2: precompute number of transaction descriptor blocks

Jan Kara <[email protected]>
jbd2: make jbd2_journal_get_max_txn_bufs() internal

Harshit Mogalapalli <[email protected]>
media: imx-pxp: Fix ERR_PTR dereference in pxp_probe()

Tommaso Merciai <[email protected]>
media: i2c: alvium: Move V4L2_CID_GAIN to V4L2_CID_ANALOG_GAIN

Wentong Wu <[email protected]>
media: ivsc: csi: add separate lock for v4l2 control handler

Javier Carrasco <[email protected]>
leds: mt6360: Fix memory leak in mt6360_init_isnk_properties()

Thomas Weißschuh <[email protected]>
leds: triggers: Flush pending brightness before activating trigger

Ofir Gal <[email protected]>
md/md-bitmap: fix writing non bitmap pages

Ilpo Järvinen <[email protected]>
leds: ss4200: Convert PCIBIOS_* return codes to errnos

Jay Buddhabhatti <[email protected]>
drivers: soc: xilinx: check return status of get_api_version()

Javier Carrasco <[email protected]>
cpufreq: qcom-nvmem: fix memory leaks in probe error paths

Bitterblue Smith <[email protected]>
wifi: rtw88: usb: Further limit the TX aggregation

Bitterblue Smith <[email protected]>
wifi: rtw88: usb: Fix disconnection after beacon loss

Po-Hao Huang <[email protected]>
wifi: rtw89: fix HW scan not aborting properly

Rafael Beims <[email protected]>
wifi: mwifiex: Fix interface type change

Rafael J. Wysocki <[email protected]>
genirq: Set IRQF_COND_ONESHOT in request_irq()

levi.yun <[email protected]>
trace/pid_list: Change gfp flags in pid_list_fill_irq()

Pavel Begunkov <[email protected]>
io_uring: don't allow netpolling with SETUP_IOPOLL

Pavel Begunkov <[email protected]>
io_uring: tighten task exit cancellations

Pavel Begunkov <[email protected]>
io_uring: fix lost getsockopt completions

Baokun Li <[email protected]>
ext4: make sure the first directory block is not a hole

Baokun Li <[email protected]>
ext4: check dot and dotdot of dx_root before making dir indexed

Ming Lei <[email protected]>
block: check bio alignment in blk_mq_submit_bio

Paolo Pisati <[email protected]>
m68k: amiga: Turn off Warp1260 interrupts during boot

Jan Kara <[email protected]>
udf: Avoid using corrupted block bitmap buffer

Frederic Weisbecker <[email protected]>
task_work: Introduce task_work_cancel() again

Frederic Weisbecker <[email protected]>
task_work: s/task_work_cancel()/task_work_cancel_func()/

Steve French <[email protected]>
cifs: mount with "unix" mount option for SMB1 incorrectly handled

Steve French <[email protected]>
cifs: fix reconnect with SMB1 UNIX Extensions

Steve French <[email protected]>
cifs: fix potential null pointer use in destroy_workqueue in init_cifs error path

Fedor Pchelkin <[email protected]>

    apparmor: use kvfree_sensitive to free data->data

Sung Joon Kim <[email protected]>
drm/amd/display: Check for NULL pointer

Shreyas Deodhar <[email protected]>
scsi: qla2xxx: Fix optrom version displayed in FDMI

Alex Deucher <[email protected]>
drm/amd/display: fix corruption with high refresh rates on DCN 3.0

Ma Ke <[email protected]>
drm/gma500: fix null pointer dereference in psb_intel_lvds_get_modes

Ma Ke <[email protected]>
drm/gma500: fix null pointer dereference in cdv_intel_lvds_get_modes

Pavel Begunkov <[email protected]>
io_uring/io-wq: limit retrying worker initialisation

Paul Moore <[email protected]>
lsm: fixup the inode xattr capability handling

Kory Maincent <[email protected]>
media: i2c: Kconfig: Fix missing firmware upload config select

Jan Kara <[email protected]>
ext2: Verify bitmap and itable block numbers before using them

Chao Yu <[email protected]>
hfs: fix to initialize fields of hfs_inode_info after hfs_alloc_inode()

Thomas Weißschuh <[email protected]>
sysctl: always initialize i_uid/i_gid

Igor Pylypiv <[email protected]>
ata: libata-scsi: Honor the D_SENSE bit for CK_COND=1 and no error

Igor Pylypiv <[email protected]>
ata: libata-scsi: Do not overwrite valid sense data when CK_COND=1

Dikshita Agarwal <[email protected]>
media: venus: fix use after free in vdec_close

Joe Hattori <[email protected]>
char: tpm: Fix possible memory leak in tpm_bios_measurements_open()

Vitor Soares <[email protected]>
tpm_tis_spi: add missing attpm20p SPI device ID entry

Thomas Weißschuh <[email protected]>
selftests/nolibc: fix printf format mismatch in expect_str_buf_eq()

Igor Pylypiv <[email protected]>
ata: libata-scsi: Fix offsets for the fixed format sense data

Damien Le Moal <[email protected]>
null_blk: Fix description of the fua parameter

Alain Volmat <[email protected]>
media: stm32: dcmipp: correct error handling in dcmipp_create_subdevs

Yu Kuai <[email protected]>
md/raid5: fix spares errors about rcu usage

Eric Sandeen <[email protected]>
fuse: verify {g,u}id mount options correctly

Tejun Heo <[email protected]>
sched/fair: set_load_weight() must also call reweight_task() for SCHED_IDLE tasks

Zong-Zhe Yang <[email protected]>
wifi: mac80211: chanctx emulation set CHANGE_CHANNEL when in_reconfig

Chuck Lever <[email protected]>
NFSD: Support write delegations in LAYOUTGET

Thomas Hellström <[email protected]>
drm/xe: Use write-back caching mode for system memory on DGFX

Nicolas Dichtel <[email protected]>
ipv6: take care of scope when choosing the src addr

Nicolas Dichtel <[email protected]>
ipv4: fix source address selection with route leak

Nicolas Dichtel <[email protected]>
ipv6: fix source address selection with route leak

Pavel Begunkov <[email protected]>
kernel: rerun task_work while freezing in get_signal()

Filipe Manana <[email protected]>
btrfs: fix extent map use-after-free when adding pages to compressed bio

Lai Jiangshan <[email protected]>
workqueue: Always queue work items to the newest PWQ for order workqueues

Chengen Du <[email protected]>
af_packet: Handle outgoing VLAN packets without hardware offloading

Breno Leitao <[email protected]>
net: netconsole: Disable target before netpoll cleanup

Yu Liao <[email protected]>
tick/broadcast: Make takeover of broadcast hrtimer reliable

Krzysztof Kozlowski <[email protected]>
dt-bindings: thermal: correct thermal zone node name limit

Krzysztof Kozlowski <[email protected]>
thermal/drivers/broadcom: Fix race between removal and clock disable

Sungjong Seo <[email protected]>
exfat: fix potential deadlock on __exfat_get_dentry_set

Takashi Sakamoto <[email protected]>
Revert "firewire: Annotate struct fw_iso_packet with __counted_by()"

Ard Biesheuvel <[email protected]>
x86/efistub: Revert to heap allocated boot_params for PE entrypoint

Ard Biesheuvel <[email protected]>
x86/efistub: Avoid returning EFI_SUCCESS on error

Yu Zhao <[email protected]>
mm/mglru: fix ineffective protection calculation

Yu Zhao <[email protected]>
mm/mglru: fix overshooting shrinker memory

Tetsuo Handa <[email protected]>
mm: mmap_lock: replace get_memcg_path_buf() with on-stack buffer

Yu Zhao <[email protected]>
mm/mglru: fix div-by-zero in vmpressure_calc_level()

Miaohe Lin <[email protected]>
mm/hugetlb: fix possible recursive locking detected warning

Aristeu Rozanski <[email protected]>
hugetlb: force allocating surplus hugepages on mempolicy allowed nodes

Gavin Shan <[email protected]>
mm/huge_memory: avoid PMD-size page cache if needed

Yang Shi <[email protected]>
mm: huge_memory: use !CONFIG_64BIT to relax huge page alignment on 32 bit machines

Jann Horn <[email protected]>
landlock: Don't lose track of restrictions on cred_transfer

Mickaël Salaün <[email protected]>
selftests/landlock: Add cred_transfer test

Jason-JH.Lin <[email protected]>
mailbox: mtk-cmdq: Move devm_mbox_controller_register() after devm_pm_runtime_enable()

Peng Fan <[email protected]>
mailbox: imx: fix TXDB_V2 channel race condition

Andrew Davis <[email protected]>
mailbox: omap: Fix mailbox interrupt sharing

Richard Genoud <[email protected]>
remoteproc: k3-r5: Fix IPC-only mode detection

Nícolas F. R. A. Prado <[email protected]>
remoteproc: mediatek: Don't attempt to remap l1tcm memory if missing

Christophe JAILLET <[email protected]>
power: supply: ingenic: Fix some error handling paths in ingenic_battery_get_property()

Christophe JAILLET <[email protected]>
power: supply: ab8500: Fix error handling when calling iio_read_channel_processed()

Tiezhu Yang <[email protected]>
LoongArch: Check TIF_LOAD_WATCH to enable user space watchpoint

Yang Yang <[email protected]>
sbitmap: fix io hung due to race on sbitmap_word::cleared

Suren Baghdasaryan <[email protected]>
alloc_tag: fix page_ext_get/page_ext_put sequence during page splitting

Suren Baghdasaryan <[email protected]>
lib: reuse page_ext_data() to obtain codetag_ref

Suren Baghdasaryan <[email protected]>
lib: add missing newline character in the warning message

Carlos López <[email protected]>
s390/dasd: fix error checks in dasd_copy_pair_store()

Christophe Leroy <[email protected]>
powerpc/8xx: fix size given to set_huge_pte_at()

Heming Zhao <[email protected]>
md-cluster: fix hanging issue while a new disk adding

Konstantin Komarov <[email protected]>
fs/ntfs3: Keep runs for $MFT::$ATTR_DATA and $MFT::$ATTR_BITMAP

Konstantin Komarov <[email protected]>
fs/ntfs3: Missed error return

Konstantin Komarov <[email protected]>
fs/ntfs3: Fix the format of the "nocase" mount option

Csókás, Bence <[email protected]>
rtc: interface: Add RTC offset to alarm after fix-up

Ryusuke Konishi <[email protected]>
nilfs2: avoid undefined behavior in nilfs_cnt32_ge macro

SeongJae Park <[email protected]>
selftests/damon/access_memory: use user-defined region size

David Hildenbrand <[email protected]>
fs/proc/task_mmu: properly detect PM_MMAP_EXCLUSIVE per page of PMD-mapped THPs

David Hildenbrand <[email protected]>
fs/proc/task_mmu: don't indicate PM_MMAP_EXCLUSIVE without PM_PRESENT

David Hildenbrand <[email protected]>
fs/proc/task_mmu: indicate PM_FILE for PMD-mapped file THP

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix TPU suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix TCLK suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: FIX PWM suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix IRQ suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix (H)SCIF3 suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix (H)SCIF1 suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix FXR_TXEN[AB] suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix CANFD5 suffix

Richard Genoud <[email protected]>
rtc: tps6594: Fix memleak in probe

Konstantin Komarov <[email protected]>
fs/ntfs3: Fix field-spanning write in INDEX_HDR

Andy Shevchenko <[email protected]>
fs/ntfs3: Drop stray '\' (backslash) in formatting string

Konstantin Komarov <[email protected]>
fs/ntfs3: Correct undo if ntfs_create_inode failed

Konstantin Komarov <[email protected]>
fs/ntfs3: Replace inode_trylock with inode_lock

Peng Fan <[email protected]>
pinctrl: freescale: mxs: Fix refcount of child

Yang Yingliang <[email protected]>
pinctrl: ti: ti-iodelay: fix possible memory leak when pinctrl_enable() fails

Yang Yingliang <[email protected]>
pinctrl: single: fix possible memory leak when pinctrl_enable() fails

Yang Yingliang <[email protected]>
pinctrl: core: fix possible memory leak when pinctrl_enable() fails

Dmitry Yashin <[email protected]>
pinctrl: rockchip: update rk3308 iomux routes

Konstantin Komarov <[email protected]>
fs/ntfs3: Add missing .dirty_folio in address_space_operations

Konstantin Komarov <[email protected]>
fs/ntfs3: Fix getting file type

Konstantin Komarov <[email protected]>
fs/ntfs3: Missed NI_FLAG_UPDATE_PARENT setting

Konstantin Komarov <[email protected]>
fs/ntfs3: Deny getting attr data block in compressed frame

Konstantin Komarov <[email protected]>
fs/ntfs3: Fix transform resident to nonresident for compressed files

Konstantin Komarov <[email protected]>
fs/ntfs3: Merge synonym COMPRESSION_UNIT and NTFS_LZNT_CUNIT

Martin Willi <[email protected]>
net: dsa: b53: Limit chip-wide jumbo frame config to CPU ports

Martin Willi <[email protected]>
net: dsa: mv88e6xxx: Limit chip-wide frame size config to CPU ports

Ido Schimmel <[email protected]>
ipv4: Fix incorrect TOS in fibmatch route get reply

Ido Schimmel <[email protected]>
ipv4: Fix incorrect TOS in route get reply

Pablo Neira Ayuso <[email protected]>
net: flow_dissector: use DEBUG_NET_WARN_ON_ONCE

Joshua Washington <[email protected]>
gve: Fix XDP TX completion handling when counters overflow

Chen Hanxiao <[email protected]>
ipvs: properly dereference pe in ip_vs_add_service

Florian Westphal <[email protected]>
netfilter: nf_set_pipapo: fix initial map fill

Pablo Neira Ayuso <[email protected]>
netfilter: ctnetlink: use helper function to calculate expect ID

Jiaxun Yang <[email protected]>
MIPS: Fix fallback march for SB1

Konstantin Taranov <[email protected]>
RDMA/mana_ib: Set correct device into ib

Konstantin Taranov <[email protected]>
RDMA/mana_ib: set node_guid

Jack Wang <[email protected]>
bnxt_re: Fix imm_data endianness

David Ahern <[email protected]>
RDMA: Fix netdev tracker in ib_device_set_netdev

David Gstir <[email protected]>
crypto: mxs-dcp - Ensure payload is zero when using key slot

Jon Pan-Doh <[email protected]>
iommu/vt-d: Fix identity map bounds in si_domain_init()

Chengchang Tang <[email protected]>
RDMA/hns: Fix mbx timing out before CMD execution is completed

Chengchang Tang <[email protected]>
RDMA/hns: Fix insufficient extend DB for VFs.

Chengchang Tang <[email protected]>
RDMA/hns: Fix undifined behavior caused by invalid max_sge

Chengchang Tang <[email protected]>
RDMA/hns: Fix shift-out-bounds when max_inline_data is 0

Chengchang Tang <[email protected]>
RDMA/hns: Fix missing pagesize and alignment check in FRMR

Junxian Huang <[email protected]>
RDMA/hns: Fix unmatch exception handling when init eq table fails

Junxian Huang <[email protected]>
RDMA/hns: Fix soft lockup under heavy CEQE load

Junxian Huang <[email protected]>
RDMA/hns: Check atomic wr length

Nick Bowler <[email protected]>
macintosh/therm_windtunnel: fix module unload.

Michael Ellerman <[email protected]>
powerpc/xmon: Fix disassembly CPU feature checks

Lu Baolu <[email protected]>
iommu/vt-d: Fix aligned pages in calculate_psi_aligned_address()

Lu Baolu <[email protected]>
iommu/vt-d: Limit max address mask to MAX_AGAW_PFN_WIDTH

Frank Li <[email protected]>
PCI: dwc: Fix index 0 incorrectly being interpreted as a free ATU slot

Manivannan Sadhasivam <[email protected]>
PCI: qcom-ep: Disable resources unconditionally during PERST# assert

Dominique Martinet <[email protected]>
MIPS: Octeron: remove source file executable bit

Lorenzo Bianconi <[email protected]>
clk: en7523: fix rate divider for slic and spi clocks

Stephen Boyd <[email protected]>
clk: qcom: Park shared RCGs upon registration

Abel Vesa <[email protected]>
clk: qcom: gcc-x1e80100: Set parent rate for USB3 sec and tert PHY pipe clks

Chen Ni <[email protected]>
clk: qcom: kpss-xcc: Return of_clk_add_hw_provider to transfer the error

Nivas Varadharajan Mugunthakumar <[email protected]>
crypto: qat - extend scope of lock in adf_cfg_add_key_value_param()

Heiko Stuebner <[email protected]>
nvmem: rockchip-otp: set add_legacy_fixed_of_cells config option

Justin Tee <[email protected]>
scsi: lpfc: Revise lpfc_prep_embed_io routine with proper endian macro usages

Denis Arefev <[email protected]>
net: missing check virtio

Michael S. Tsirkin <[email protected]>
vhost/vsock: always initialize seqpacket_allow

Dan Carpenter <[email protected]>
PCI: endpoint: Fix error handling in epf_ntb_epc_cleanup()

Dan Carpenter <[email protected]>
PCI: endpoint: Clean up error handling in vpci_scan_bus()

Georgi Djakov <[email protected]>
iommu/arm-smmu-qcom: Register the TBU driver in qcom_smmu_impl_init

Aleksandr Mishin <[email protected]>
ASoC: amd: Adjust error handling in case of absent codec device

Guenter Roeck <[email protected]>
eeprom: ee1004: Call i2c_new_scanned_device to instantiate thermal sensor

Christoph Schlameuss <[email protected]>
kvm: s390: Reject memory region operations for ucontrol VMs

Benjamin Marzinski <[email protected]>
dm-raid: Fix WARN_ON_ONCE check for sync_thread in raid_resume

Abel Vesa <[email protected]>
clk: qcom: gcc-x1e80100: Fix halt_check for all pipe clocks

Dmitry Torokhov <[email protected]>
Input: elan_i2c - do not leave interrupt disabled on suspend failure

Leon Romanovsky <[email protected]>
RDMA/device: Return error earlier if port in not valid

Arnd Bergmann <[email protected]>
mtd: make mtd_test.c a separate module

Joao Martins <[email protected]>
iommufd/iova_bitmap: Check iova_bitmap_done() after set ahead

Joao Martins <[email protected]>
iommufd/selftest: Fix tests to use MOCK_PAGE_SIZE based buffer sizes

Joao Martins <[email protected]>
iommufd/selftest: Add tests for <= u8 bitmap sizes

Joao Martins <[email protected]>
iommufd/selftest: Fix iommufd_test_dirty() to handle <u8 bitmaps

Joao Martins <[email protected]>
iommufd/selftest: Fix dirty bitmap tests with u8 bitmaps

Chen Ni <[email protected]>
ASoC: max98088: Check for clk_prepare_enable() error

Nathan Lynch <[email protected]>
powerpc/prom: Add CPU info to hardware description string later

Harald Freudenberger <[email protected]>
hwrng: core - Fix wrong quality calculation at hw rng registration

Huai-Yuan Liu <[email protected]>
scsi: lpfc: Fix a possible null pointer dereference

Aleksandr Mishin <[email protected]>
ASoC: qcom: Adjust issues in case of DT error in asoc_qcom_lpass_cpu_platform_probe()

Honggang LI <[email protected]>
RDMA/rxe: Don't set BTH_ACK_MASK for UC or UD QPs

Or Har-Toov <[email protected]>
RDMA/mlx5: Use sq timestamp as QP timestamp when RoCE is disabled

Leon Romanovsky <[email protected]>
RDMA/mlx4: Fix truncated output warning in alias_GUID.c

Leon Romanovsky <[email protected]>
RDMA/mlx4: Fix truncated output warning in mad.c

Andrei Lalaev <[email protected]>
Input: qt1050 - handle CHIP_ID reading error

Konrad Dybcio <[email protected]>
interconnect: qcom: qcm2290: Fix mas_snoc_bimc RPM master ID

Taniya Das <[email protected]>
clk: qcom: gpucc-sa8775p: Update wait_val fields for GPU GDSC's

Taniya Das <[email protected]>
clk: qcom: gpucc-sa8775p: Park RCG's clk source at XO during disable

Taniya Das <[email protected]>
clk: qcom: gpucc-sa8775p: Remove the CLK_IS_CRITICAL and ALWAYS_ON flags

Taniya Das <[email protected]>
clk: qcom: gcc-sa8775p: Update the GDSC wait_val fields and flags

Taniya Das <[email protected]>
clk: qcom: gpucc-sm8350: Park RCG's clk source at XO during disable

Michael Walle <[email protected]>
mtd: spi-nor: winbond: fix w25q128 regression

Leon Romanovsky <[email protected]>
RDMA/cache: Release GID table even if leak is detected

Hao Ge <[email protected]>
ASoc: PCM6240: Return directly after a failed devm_kzalloc() in pcmdevice_i2c_probe()

Neil Armstrong <[email protected]>
usb: typec-mux: nb7vpq904m: unregister typec switch on probe error and remove

Neil Armstrong <[email protected]>
usb: typec-mux: ptn36502: unregister typec switch on probe error and remove

Simon Trimmer <[email protected]>
ASoC: cs35l56: Accept values greater than 0 as IRQ numbers

Shenghao Ding <[email protected]>
ASoc: tas2781: Enable RCA-based playback without DSP firmware download

Sourabh Jain <[email protected]>
powerpc/kexec_file: fix cpus node update to FDT

Chiara Meiohas <[email protected]>
RDMA/mlx5: Set mkeys for dmabuf at PAGE_SIZE

James Clark <[email protected]>
coresight: Fix ref leak when of_coresight_parse_endpoint() fails

Shivaprasad G Bhat <[email protected]>
KVM: PPC: Book3S HV: Fix the get_one_reg of SDAR

Shivaprasad G Bhat <[email protected]>
KVM: PPC: Book3S HV: Fix the set_one_reg for MMCR3

Mostafa Saleh <[email protected]>
iommu/arm-smmu-v3: Avoid uninitialized asid in case of error

Nuno Sa <[email protected]>
iio: adc: adi-axi-adc: don't allow concurrent enable/disable calls

Antoniu Miclaus <[email protected]>
iio: frequency: adrf6780: rm clk provider include

Nuno Sa <[email protected]>
iio: adc: ad9467: use DMA safe buffer for spi

Xianwei Zhao <[email protected]>
clk: meson: s4: fix pwm_j_div parent clock

Xianwei Zhao <[email protected]>
clk: meson: s4: fix fixed_pll_dco clock

Taniya Das <[email protected]>
clk: qcom: camcc-sc7280: Add parent dependency to all camera GDSCs

Taniya Das <[email protected]>
clk: qcom: gcc-sc7280: Update force mem core bit for UFS ICE clock

Lothar Rubusch <[email protected]>
crypto: atmel-sha204a - fix negated return value

Christophe JAILLET <[email protected]>
crypto: tegra - Remove an incorrect iommu_fwspec_free() call in tegra_se_remove()

Minwoo Im <[email protected]>
scsi: ufs: mcq: Fix missing argument 'hba' in MCQ_OPR_OFFSET_n

Andy Chiu <[email protected]>
riscv: smp: fail booting up smp if inconsistent vlen is detected

Jon Hunter <[email protected]>
PCI: tegra194: Set EP alignment restriction for inbound ATU

Marek Vasut <[email protected]>
PCI: rcar: Demote WARN() to dev_warn_ratelimited() in rcar_pcie_wakeup()

Aleksandr Mishin <[email protected]>
PCI: keystone: Fix NULL pointer dereference in case of DT error in ks_pcie_setup_rc_app_regs()

Siddharth Vadapalli <[email protected]>
PCI: keystone: Don't enable BAR 0 for AM654x

Siddharth Vadapalli <[email protected]>
PCI: keystone: Relocate ks_pcie_set/clear_dbi_mode()

Ilpo Järvinen <[email protected]>
PCI: Fix resource double counting on remove & rescan

Manivannan Sadhasivam <[email protected]>
PCI: endpoint: pci-epf-test: Make use of cached 'epc_features' in pci_epf_test_core_init()

Chenyuan Yang <[email protected]>
iio: Fix the sorting functionality in iio_gts_build_avail_time_table

Benjamin Coddington <[email protected]>
SUNRPC: Fixup gss_status tracepoint error output

Christoph Hellwig <[email protected]>
nfs: pass explicit offset/count to trace events

Luke D. Jones <[email protected]>
platform/x86: asus-wmi: fix TUF laptop RGB variant

Ian Rogers <[email protected]>
perf dso: Fix address sanitizer build

Andreas Larsson <[email protected]>
sparc64: Fix incorrect function signature and add prototype for prom_cif_init

Dan Carpenter <[email protected]>
leds: flash: leds-qcom-flash: Test the correct variable in init

Thomas Zimmermann <[email protected]>
drm/qxl: Pin buffer objects for internal mappings

Jan Kara <[email protected]>
ext4: avoid writing unitialized memory to disk in EA inodes

Luis Henriques (SUSE) <[email protected]>
ext4: don't track ranges in fast_commit if inode has inlined data

Olga Kornievskaia <[email protected]>
NFSv4.1 another fix for EXCHGID4_FLAG_USE_PNFS_DS for DS server

NeilBrown <[email protected]>
SUNRPC: avoid soft lockup when transmitting UDP to reachable server.

Chuck Lever <[email protected]>
xprtrdma: Fix rpcrdma_reqs_reset()

Javier Carrasco <[email protected]>
mfd: omap-usb-tll: Use struct_size to allocate tll

Arnd Bergmann <[email protected]>
mfd: rsmu: Split core code into separate module

Steven Price <[email protected]>
drm/panthor: Record devfreq busy as soon as a job is started

Adrian Hunter <[email protected]>
perf intel-pt: Fix exclude_guest setting

Adrian Hunter <[email protected]>
perf intel-pt: Fix aux_watermark calculation for 64-bit size

Dikshita Agarwal <[email protected]>
media: venus: flush all buffers in output plane streamoff

Namhyung Kim <[email protected]>
perf stat: Fix a segfault with --per-cluster --metric-only

Michael Walle <[email protected]>
drm/mediatek/dp: Fix spurious kfree()

Michael Walle <[email protected]>
drm/mediatek: dpi/dsi: Fix possible_crtcs calculation

Ma Ke <[email protected]>
drm/amd/display: Add null check before access structs

Luis Henriques (SUSE) <[email protected]>
ext4: fix infinite loop when replaying fast_commit

Hsiao Chien Sung <[email protected]>
drm/mediatek: Remove less-than-zero comparison of an unsigned value

Geert Uytterhoeven <[email protected]>
drm/panic: Do not select DRM_KMS_HELPER

Jocelyn Falempe <[email protected]>
drm/panic: depends on !VT_CONSOLE

Luca Ceresoli <[email protected]>
Revert "leds: led-core: Fix refcount leak in of_led_get()"

Anjelique Melendez <[email protected]>
leds: rgb: leds-qcom-lpg: Add PPG check for setting/clearing PBS triggers

Chen Ni <[email protected]>
drm/qxl: Add check for drm_cvt_mode

Lucas Stach <[email protected]>
drm/etnaviv: fix DMA direction handling for cached RW buffers

Namhyung Kim <[email protected]>
perf report: Fix condition in sort__sym_cmp()

Junhao He <[email protected]>
perf pmus: Fixes always false when compare duplicates aliases

Athira Rajeev <[email protected]>
tools/perf: Fix the string match for "/tmp/perf-$PID.map" files in dso__load

James Clark <[email protected]>
perf test: Make test_arm_callgraph_fp.sh more robust

Dmitry Baryshkov <[email protected]>
platform/arm64: build drivers even on non-ARM64 platforms

Geert Uytterhoeven <[email protected]>
drm/panic: Fix off-by-one logo size checks

Jocelyn Falempe <[email protected]>
drm/panic: only draw the foreground color in drm_panic_blit()

Karolina Stolarek <[email protected]>
drm/ttm/tests: Fix a warning in ttm_bo_unreserve_bulk

Abhinav Kumar <[email protected]>
drm/msm/dpu: drop validity checks for clear_pending_flush() ctl op

Jonathan Marek <[email protected]>
drm/msm/dsi: set VIDEO_COMPRESSION_MODE_CTRL_WC

Jonathan Marek <[email protected]>
drm/msm/dsi: set video mode widebus enable bit when widebus is enabled

Hans de Goede <[email protected]>
leds: trigger: Unregister sysfs attributes before calling deactivate()

Ming Qian <[email protected]>
media: imx-jpeg: Drop initial source change event if capture has been setup

Konrad Dybcio <[email protected]>
drm/msm/a6xx: Fix A702 UBWC mode

Abhinav Kumar <[email protected]>
drm/msm/a6xx: use __unused__ to fix compiler warnings for gen7_* includes

Hsiao Chien Sung <[email protected]>
drm/mediatek: Set DRM mode configs accordingly

Hsiao Chien Sung <[email protected]>
drm/mediatek: Add DRM_MODE_ROTATE_0 to rotation property

Hsiao Chien Sung <[email protected]>
drm/mediatek: Add OVL compatible name for MT8195

Hsiao Chien Sung <[email protected]>
drm/mediatek: Turn off the layers with zero width or height

Hsiao Chien Sung <[email protected]>
drm/mediatek: Fix destination alpha error in OVL

Hsiao Chien Sung <[email protected]>
drm/mediatek: Fix XRGB setting error in Mixer

Hsiao Chien Sung <[email protected]>
drm/mediatek: Fix XRGB setting error in OVL

Hsiao Chien Sung <[email protected]>
drm/mediatek: Use 8-bit alpha in ETHDR

Hsiao Chien Sung <[email protected]>
drm/mediatek: Add missing plane settings when async update

Sebastian Andrzej Siewior <[email protected]>
drm/ttm/tests: Let ttm_bo_test consider different ww_mutex implementation.

Laurent Pinchart <[email protected]>
media: renesas: vsp1: Store RPF partition configuration per RPF instance

Laurent Pinchart <[email protected]>
media: renesas: vsp1: Fix _irqsave and _irq mix

Jacopo Mondi <[email protected]>
media: rcar-csi2: Cleanup subdevice in remove()

Jacopo Mondi <[email protected]>
media: rcar-csi2: Disable runtime_pm in probe error

Jacopo Mondi <[email protected]>
media: rcar-vin: Fix YUYV8_1X16 handling for CSI-2

Jouni Högander <[email protected]>
drm/i915/psr: Set SU area width as pipe src width

Sean Anderson <[email protected]>
drm: zynqmp_kms: Fix AUX bus not getting unregistered

Christophe JAILLET <[email protected]>
drm: zynqmp_dpsub: Fix an error handling path in zynqmp_dpsub_probe()

Daniel Schaefer <[email protected]>
media: uvcvideo: Override default flags

Oleksandr Natalenko <[email protected]>
media: uvcvideo: Add quirk for invalid dev_sof in Logitech C920

Ricardo Ribalda <[email protected]>
media: uvcvideo: Quirk for invalid dev_sof in Logitech C922

Conor Dooley <[email protected]>
media: i2c: imx219: fix msr access command sequence

Ricardo Ribalda <[email protected]>
media: c8sectpfe: Add missing parameter names

Aleksandr Burakov <[email protected]>
saa7134: Unchecked i2c_transfer function result fixed

Alex Deucher <[email protected]>
drm/amd/display: use pre-allocated temp structure for bounding box

Dan Carpenter <[email protected]>
ipmi: ssif_bmc: prevent integer overflow on 32bit systems

Jiri Olsa <[email protected]>
x86/shstk: Make return uprobe work with shadow stack

Jouni Högander <[email protected]>
drm/i915/psr: Print Panel Replay status instead of frame lock status

Jouni Högander <[email protected]>
drm/i915/display: Skip Panel Replay on pipe comparison if no active planes

Adam Ford <[email protected]>
drm/bridge: samsung-dsim: Set P divider based on min/max of fin pll

Yunfei Dong <[email protected]>
media: mediatek: vcodec: Fix unreasonable data conversion

Irui Wang <[email protected]>
media: mediatek: vcodec: Handle invalid decoder vsi

Ian Rogers <[email protected]>
perf maps: Fix use after free in __maps__fixup_overlap_and_insert

Dmitry Baryshkov <[email protected]>
drm/msm/dp: fix runtime_pm handling in dp_wait_hpd_asserted

Junhao Xie <[email protected]>
drm/msm/dpu: drop duplicate drm formats from wb2_formats arrays

Dmitry Baryshkov <[email protected]>
Revert "drm/msm/dpu: drop dpu_encoder_phys_ops.atomic_mode_set"

Barnabás Czémán <[email protected]>
drm/msm/dpu: fix encoder irq wait skip

David Hildenbrand <[email protected]>
s390/uv: Don't call folio_wait_writeback() without a folio reference

Srinivasan Shanmugam <[email protected]>
drm/amdgpu: Fix type mismatch in amdgpu_gfx_kiq_init_ring

ChiYuan Huang <[email protected]>
media: v4l: async: Fix NULL pointer dereference in adding ancillary links

Ricardo Ribalda <[email protected]>
media: i2c: hi846: Fix V4L2_SUBDEV_FORMAT_TRY get_selection()

Bryan O'Donoghue <[email protected]>
media: i2c: Fix imx412 exposure control

Jouni Högander <[email protected]>
drm/i915/psr: Use enable boolean from intel_crtc_state for Early Transport

Ricardo Ribalda <[email protected]>

    media: imon: Fix race getting ictx->lock

Zheng Yejian <[email protected]>
media: dvb-usb: Fix unexpected infinite loop in dvb_usb_read_remote_control()

Mikhail Kobuk <[email protected]>
media: pci: ivtv: Add check for DMA map result

Arnd Bergmann <[email protected]>
drm/amd/display: Move 'struct scaler_data' off stack

Arnd Bergmann <[email protected]>
drm/amd/display: fix graphics_object_id size

Arnd Bergmann <[email protected]>
drm/amd/display: dynamically allocate dml2_configuration_options structures

Srinivasan Shanmugam <[email protected]>
drm/amdgpu: Fix snprintf usage in amdgpu_gfx_kiq_init_ring

Kuro Chung <[email protected]>
drm/bridge: it6505: fix hibernate to resume no display issue

Douglas Anderson <[email protected]>
drm/panel: ilitek-ili9882t: Check for errors on the NOP in prepare()

Douglas Anderson <[email protected]>
drm/panel: ilitek-ili9882t: If prepare fails, disable GPIO before regulators

Douglas Anderson <[email protected]>
drm/panel: boe-tv101wum-nl6: Check for errors on the NOP in prepare()

Douglas Anderson <[email protected]>
drm/panel: boe-tv101wum-nl6: If prepare fails, disable GPIO before regulators

Douglas Anderson <[email protected]>
drm/panel: himax-hx8394: Handle errors from mipi_dsi_dcs_set_display_on() better

Tim Van Patten <[email protected]>
drm/amdgpu: Remove GC HW IP 9.3.0 from noretry=1

Friedrich Vock <[email protected]>
drm/amdgpu: Check if NBIO funcs are NULL in amdgpu_device_baco_exit

Lijo Lazar <[email protected]>
drm/amdgpu: Fix memory range calculation

Lijo Lazar <[email protected]>
drm/amd/pm: Fix aldebaran pcie speed reporting

Dmitry Baryshkov <[email protected]>
drm/panel: lg-sw43408: add missing error handling

Douglas Anderson <[email protected]>
drm/mipi-dsi: Fix theoretical int overflow in mipi_dsi_generic_write_seq()

Douglas Anderson <[email protected]>
drm/mipi-dsi: Fix theoretical int overflow in mipi_dsi_dcs_write_seq()

Jouni Högander <[email protected]>
drm/i915/display: Do not print "psr: enabled" for on Panel Replay

Jouni Högander <[email protected]>
drm/i915/psr: Rename has_psr2 as has_sel_update

Mukul Joshi <[email protected]>
drm/amdkfd: Fix CU Masking for GFX 9.4.3

Faiz Abbas <[email protected]>
drm/arm/komeda: Fix komeda probe failing if there are no links in the secondary pipeline

Andy Yan <[email protected]>
drm/rockchip: vop2: Fix the port mux of VP2

Kuniyuki Iwashima <[email protected]>

    tcp: Don't access uninit tcp_rsk(req)->ao_keyid in tcp_create_openreq_child().

Luiz Augusto von Dentz <[email protected]>
Bluetooth: Fix usage of __hci_cmd_sync_status

Elliot Ayrey <[email protected]>
net: bridge: mst: Check vlan state for egress decision

Taehee Yoo <[email protected]>
xdp: fix invalid wait context of page_pool_destroy()

Breno Leitao <[email protected]>
virtio_net: Fix napi_skb_cache_put warning

Dmitry Antipov <[email protected]>
Bluetooth: hci_core, hci_sync: cleanup struct discovery_state

Iulia Tanasescu <[email protected]>
Bluetooth: hci_event: Set QoS encryption from BIGInfo report

Neeraj Sanjay Kale <[email protected]>
Bluetooth: btnxpuart: Add handling for boot-signature timeout errors

Kiran K <[email protected]>
Bluetooth: btintel_pcie: Fix irq leak

Kiran K <[email protected]>
Bluetooth: btintel: Refactor btintel_set_ppag()

Sven Peter <[email protected]>
Bluetooth: hci_bcm4377: Use correct unit for timeouts

Amit Cohen <[email protected]>
selftests: forwarding: devlink_lib: Wait for udev events after reloading

Kory Maincent <[email protected]>
net: ethtool: pse-pd: Fix possible null-deref

Kory Maincent <[email protected]>
net: pse-pd: Do not return EOPNOSUPP if config is null

Tengda Wu <[email protected]>
bpf: Fix null pointer dereference in resolve_prog_type() for BPF_PROG_TYPE_EXT

Jeff Layton <[email protected]>
nfsd: nfsd_file_lease_notifier_call gets a file_lease as an argument

Shung-Hsi Yu <[email protected]>
bpf: fix overflow check in adjust_jmp_off()

Alan Maguire <[email protected]>
bpf: Eliminate remaining "make W=1" warnings in kernel/bpf/btf.o

Alexey Kodanev <[email protected]>
bna: adjust 'name' buf size of bna_tcb and bna_ccb structures

Alan Maguire <[email protected]>
bpf: annotate BTF show functions with __printf

Ilpo Järvinen <[email protected]>
selftests/resctrl: Fix closing IMC fds on error and open-code R+W instead of loops

Puranjay Mohan <[email protected]>
bpf, arm64: Fix trampoline for BPF_TRAMP_F_CALL_ORIG

Geliang Tang <[email protected]>
selftests/bpf: Close obj in error path in xdp_adjust_tail

Geliang Tang <[email protected]>
selftests/bpf: Null checks for links in bpf_tcp_ca

Geliang Tang <[email protected]>
selftests/bpf: Close fd in error path in drop_on_reuseport

John Stultz <[email protected]>
locking/rwsem: Add __always_inline annotation to __down_write_common() and inlined callers

Johannes Berg <[email protected]>
wifi: virt_wifi: don't use strlen() in const context

Johannes Berg <[email protected]>
net: page_pool: fix warning code

Gaosheng Cui <[email protected]>
gss_krb5: Fix the error handling path for crypto_sync_skcipher_setkey

Chuck Lever <[email protected]>
NFSD: Fix nfsdcld warning

Benjamin Tissoires <[email protected]>
bpf: helpers: fix bpf_wq_set_callback_impl signature

En-Wei Wu <[email protected]>
wifi: virt_wifi: avoid reporting connection success with wrong SSID

Jianbo Liu <[email protected]>
xfrm: call xfrm_dev_policy_delete when kill policy

Jianbo Liu <[email protected]>
xfrm: fix netdev reference count imbalance

Aleksandr Mishin <[email protected]>
wifi: rtw89: Fix array index mistake in rtw89_sta_info_get_iter()

Sandipan Das <[email protected]>
perf/x86/amd/uncore: Fix DF and UMC domain identification

Sandipan Das <[email protected]>
perf/x86/amd/uncore: Avoid PMU registration if counters are unavailable

Zhang Rui <[email protected]>
perf/x86/intel/cstate: Fix Alderlake/Raptorlake/Meteorlake

Adrian Hunter <[email protected]>
perf: Fix default aux_watermark calculation

Adrian Hunter <[email protected]>
perf: Prevent passing zero nr_pages to rb_alloc_aux()

Adrian Hunter <[email protected]>
perf: Fix perf_aux_size() for greater-than 32-bit size

Adrian Hunter <[email protected]>
perf/x86/intel/pt: Fix pt_topa_entry_for_page() address calculation

Ilya Leoshkevich <[email protected]>
bpf: Fix atomic probe zero-extension

Tao Chen <[email protected]>
bpftool: Mount bpffs when pinmaps path not under the bpffs

Pu Lehui <[email protected]>
riscv, bpf: Fix out-of-bounds issue when preparing trampoline image

Steffen Klassert <[email protected]>
xfrm: Export symbol xfrm_dev_state_delete.

Martin Kaistra <[email protected]>
wifi: rtl8xxxu: 8188f: Limit TX power index

Kuan-Chung Chen <[email protected]>
wifi: rtw89: 8852b: fix definition of KIP register number

Chih-Kang Chang <[email protected]>
wifi: rtw89: wow: fix GTK offload H2C skbuff issue

Karthikeyan Periyasamy <[email protected]>
wifi: ath12k: fix peer metadata parsing

Aloka Dixit <[email protected]>
wifi: ath12k: advertise driver capabilities for MBSSID and EMA

Johannes Berg <[email protected]>
wifi: iwlwifi: mvm: always unblock EMLSR on ROC end

Daniel Gabay <[email protected]>
wifi: iwlwifi: fix iwl_mvm_get_valid_rx_ant()

Johannes Berg <[email protected]>
wifi: mac80211: correcty limit wider BW TDLS STAs

Johannes Berg <[email protected]>

    wifi: mac80211: add ieee80211_tdls_sta_link_id()

Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables: rise cap on SELinux secmark context

Ismael Luceno <[email protected]>
ipvs: Avoid unnecessary calls to skb_is_gso_sctp

Steffen Klassert <[email protected]>
xfrm: Fix unregister netdevice hang on hardware offload.

Antoine Tenart <[email protected]>
libbpf: Skip base btf sanity checks

Donglin Peng <[email protected]>
libbpf: Checking the btf_type kind when fixing variable offsets

Jiri Olsa <[email protected]>
bpf: Change bpf_session_cookie return value to __u64 *

Lukasz Majewski <[email protected]>
net: dsa: ksz_common: Allow only up to two HSR HW offloaded ports for KSZ9477

Csókás, Bence <[email protected]>
net: fec: Fix FEC_ECR_EN1588 being cleared on link-down

Jan Kara <[email protected]>
udf: Fix bogus checksum computation in udf_rename()

Antony Antony <[email protected]>
xfrm: Log input direction mismatch error in one place

Antony Antony <[email protected]>
xfrm: Fix input error path memory access

Daniel Xu <[email protected]>
bpf: Make bpf_session_cookie() kfunc return long *

Johannes Berg <[email protected]>
wifi: iwlwifi: mvm: separate non-BSS/ROC EMLSR blocking

Miri Korenblit <[email protected]>
wifi: iwlwifi: mvm: fix re-enabling EMLSR

Johannes Berg <[email protected]>
wifi: nl80211: expose can-monitor channel property

Baochen Qiang <[email protected]>

    wifi: cfg80211: handle 2x996 RU allocation in cfg80211_calculate_bitrate_he()

Baochen Qiang <[email protected]>

    wifi: cfg80211: fix typo in cfg80211_calculate_bitrate_he()

Aditya Kumar Singh <[email protected]>
wifi: ath12k: fix per pdev debugfs registration

Baochen Qiang <[email protected]>
wifi: ath11k: fix wrong handling of CCMP256 and GCMP ciphers

Baochen Qiang <[email protected]>
wifi: ath12k: fix ACPI warning when resume

Thomas Gleixner <[email protected]>
jump_label: Fix concurrency issues in static_key_slow_dec()

Thomas Gleixner <[email protected]>
perf/x86: Serialize set_attr_rdpmc()

Ido Schimmel <[email protected]>
mlxsw: spectrum_acl: Fix ACL scale regression and firmware errors

Ido Schimmel <[email protected]>
mlxsw: spectrum_acl_erp: Fix object nesting warning

Ido Schimmel <[email protected]>
lib: objagg: Fix general protection fault

Sean Christopherson <[email protected]>
sched/core: Drop spinlocks on contention iff kernel is preemptible

Sean Christopherson <[email protected]>
sched/core: Move preempt_model_*() helpers from sched.h to preempt.h

Jan Kara <[email protected]>
udf: Fix lock ordering in udf_evict_inode()

Geliang Tang <[email protected]>
selftests/bpf: Check length of recv in test_sockmap

Guangguan Wang <[email protected]>
net/smc: set rmb's SG_MAX_SINGLE_ALLOC limitation only when CONFIG_ARCH_NO_SG_CHAIN is defined

Andrii Nakryiko <[email protected]>
libbpf: keep FD_CLOEXEC flag when dup()'ing FD

Arnd Bergmann <[email protected]>
hns3: avoid linking objects into multiple modules

Eric Dumazet <[email protected]>

    tcp: fix races in tcp_v[46]_err()

Eric Dumazet <[email protected]>
tcp: fix races in tcp_abort()

Eric Dumazet <[email protected]>
tcp: fix race in tcp_write_err()

Eric Dumazet <[email protected]>
tcp: add tcp_done_with_error() helper

Linus Walleij <[email protected]>
net: ethernet: cortina: Restore TSO support

Baochen Qiang <[email protected]>
wifi: ath12k: fix wrong definition of CE ring's base address

Baochen Qiang <[email protected]>
wifi: ath11k: fix wrong definition of CE ring's base address

Ping-Ke Shih <[email protected]>
wifi: rtw89: 8852c: correct logic and restore PCI PHY EQ after device resume

P Praneesh <[email protected]>
wifi: ath12k: fix firmware crash during reo reinject

P Praneesh <[email protected]>
wifi: ath12k: fix invalid memory access while processing fragmented packets

P Praneesh <[email protected]>
wifi: ath12k: change DMA direction while mapping reinjected packets

Baochen Qiang <[email protected]>
wifi: ath11k: restore country code during resume

Baochen Qiang <[email protected]>
wifi: ath11k: refactor setting country code logic

Johannes Berg <[email protected]>
wifi: mac80211: reset negotiated TTLM on disconnect

Johannes Berg <[email protected]>
wifi: mac80211: cancel TTLM teardown work earlier

Johannes Berg <[email protected]>
wifi: mac80211: cancel multi-link reconf work on disconnect

Johannes Berg <[email protected]>
wifi: mac80211: fix TTLM teardown work

Miri Korenblit <[email protected]>
wifi: iwlwifi: mvm: don't skip link selection

Hagar Hemdan <[email protected]>
net: esp: cleanup esp_output_tail_tcp() in case of unsupported ESPINTCP

Ping-Ke Shih <[email protected]>
wifi: rtw89: 8852b: restore setting for RFE type 5 after device resume

Geliang Tang <[email protected]>
selftests/bpf: Fix prog numbers in test_sockmap

Ivan Babrou <[email protected]>
bpftool: Un-const bpf_func_info to fix it for llvm 17 and newer

Baochen Qiang <[email protected]>
wifi: ath12k: fix Smatch warnings on ath12k_core_suspend()

Nithyanantham Paramasivam <[email protected]>
wifi: ath12k: Fix tx completion ring (WBM2SW) setup failure

Pradeep Kumar Chitrapu <[email protected]>
wifi: ath12k: Correct 6 GHz frequency value in rx status

Samasth Norway Ananda <[email protected]>
wifi: brcmsmac: LCN PHY code is used for BCM4313 2G-only device

Kang Yang <[email protected]>
wifi: ath12k: avoid duplicated vdev stop

Karthikeyan Kathirvel <[email protected]>
wifi: ath12k: drop failed transmitted frames from metric calculation.

Sven Eckelmann <[email protected]>
wifi: ath12k: Don't drop tx_status in failure case

Marek Behún <[email protected]>
firmware: turris-mox-rwtm: Initialize completion before mailbox

Marek Behún <[email protected]>
firmware: turris-mox-rwtm: Fix checking return value of wait_for_completion_timeout()

Marek Behún <[email protected]>
firmware: turris-mox-rwtm: Do not complete if there are no waiters

Christophe Leroy <[email protected]>
vmlinux.lds.h: catch .bss..L* sections into BSS")

Tom Lendacky <[email protected]>
x86/sev: Do RMP memory coverage check after max_pfn has been set

Yanjun Yang <[email protected]>
ARM: Remove address checking for MMUless devices

Dmitry Torokhov <[email protected]>
ARM: spitz: fix GPIO assignment for backlight

Thorsten Blum <[email protected]>
m68k: cmpxchg: Fix return value for default case in __arch_xchg()

Dhananjay Ugwekar <[email protected]>
cpufreq/amd-pstate: Fix the scaling_max_freq setting on shared memory CPPC systems

Dhananjay Ugwekar <[email protected]>
cpufreq/amd-pstate-ut: Convert nominal_freq to khz during comparisons

Luca Weiss <[email protected]>
arm64: dts: qcom: sm6350: Add missing qcom,non-secure-domain property

Chukun Pan <[email protected]>
arm64: dts: rockchip: fixes PHY reset for Lunzn Fastrhino R68S

Chukun Pan <[email protected]>
arm64: dts: rockchip: disable display subsystem for Lunzn Fastrhino R6xS

Chukun Pan <[email protected]>
arm64: dts: rockchip: remove unused usb2 nodes for Lunzn Fastrhino R6xS

Chukun Pan <[email protected]>
arm64: dts: rockchip: fix pmu_io supply for Lunzn Fastrhino R6xS

Chukun Pan <[email protected]>
arm64: dts: rockchip: fix usb regulator for Lunzn Fastrhino R6xS

Chukun Pan <[email protected]>
arm64: dts: rockchip: fix regulator name for Lunzn Fastrhino R6xS

Cristian Ciocaltea <[email protected]>
arm64: dts: rockchip: Add missing power-domains for rk356x vop_mmu

Dang Huynh <[email protected]>
arm64: dts: qcom: qrb4210-rb2: Correct max current draw for VBUS

Chen Ni <[email protected]>
x86/xen: Convert comma to semicolon

Abel Vesa <[email protected]>

    arm64: dts: qcom: x1e80100: Fix USB HS PHY 0.8V supply

Adam Ford <[email protected]>
arm64: dts: imx8mp: Fix pgc vpu locations

Adam Ford <[email protected]>
arm64: dts: imx8mp: Fix pgc_mlmix location

Eero Tamminen <[email protected]>
m68k: atari: Fix TT bootup freeze / unexpected (SCU) interrupt messages

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r9a08g045: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r9a07g054: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r9a07g044: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r9a07g043u: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r8a779g0: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r8a779f0: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r8a779a0: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>

    arm64: dts: renesas: r8a779h0: Drop "opp-shared" from opp-table-0

Cristian Ciocaltea <[email protected]>
arm64: dts: rockchip: Fix mic-in-differential usage on rk3568-evb1-v10

Cristian Ciocaltea <[email protected]>
arm64: dts: rockchip: Fix mic-in-differential usage on rk3566-roc-pc

Cristian Ciocaltea <[email protected]>
arm64: dts: rockchip: Drop invalid mic-in-differential on rk3568-rock-3a

Jerome Brunet <[email protected]>
arm64: dts: amlogic: setup hdmi system clock

Jerome Brunet <[email protected]>
arm64: dts: amlogic: add power domain to hdmitx

Jerome Brunet <[email protected]>
arm64: dts: amlogic: gx: correct hdmi clocks

AngeloGioacchino Del Regno <[email protected]>
soc: mediatek: mtk-mutex: Add MDP_TCC0 mod to MT8188 mutex table

Chen-Yu Tsai <[email protected]>
arm64: dts: mediatek: mt8183-kukui-jacuzzi: Add ports node for anx7625

Chen-Yu Tsai <[email protected]>
arm64: dts: mediatek: mt8183-pico6: Fix wake-on-X event node names

Hsin-Te Yuan <[email protected]>
arm64: dts: mediatek: mt8183-kukui: Fix the value of dlg,jack-det-rate mismatch

Rafał Miłecki <[email protected]>
arm64: dts: mediatek: mt7622: fix "emmc" pinctrl mux

Rafał Miłecki <[email protected]>
arm64: dts: mediatek: mt7981: fix code alignment for PWM clocks

Pin-yen Lin <[email protected]>
arm64: dts: mediatek: mt8192-asurada: Add off-on-delay-us for pp3300_mipibrdg

Chen-Yu Tsai <[email protected]>
arm64: dts: mediatek: mt8183-kukui: Drop bogus output-enable property

AngeloGioacchino Del Regno <[email protected]>

    arm64: dts: medaitek: mt8395-nio-12l: Set i2c6 pins to bias-disable

AngeloGioacchino Del Regno <[email protected]>
arm64: dts: mediatek: mt8192: Fix GPU thermal zone name for SVS

AngeloGioacchino Del Regno <[email protected]>
arm64: dts: mediatek: mt8195: Fix GPU thermal zone name for SVS

Michael Walle <[email protected]>
ARM: dts: imx6qdl-kontron-samx6i: fix PCIe reset polarity

Michael Walle <[email protected]>
ARM: dts: imx6qdl-kontron-samx6i: fix SPI0 chip selects

Michael Walle <[email protected]>
ARM: dts: imx6qdl-kontron-samx6i: fix board reset

Michael Walle <[email protected]>
ARM: dts: imx6qdl-kontron-samx6i: fix PHY reset

Michael Walle <[email protected]>
ARM: dts: imx6qdl-kontron-samx6i: fix phy-mode

Jerome Brunet <[email protected]>
arm64: dts: amlogic: sm1: fix spdif compatibles

Jonas Karlman <[email protected]>
arm64: dts: rockchip: Increase VOP clk rate on RK3328

Dmitry Baryshkov <[email protected]>
soc: qcom: pdr: fix parsing of domains lists

Dmitry Baryshkov <[email protected]>
soc: qcom: pdr: protect locator_addr with the main mutex

Sibi Sankar <[email protected]>
soc: qcom: icc-bwmon: Fix refcount imbalance seen during bwmon_remove

Komal Bajaj <[email protected]>
arm64: dts: qcom: qdu1000: Add secure qfprom node

Nícolas F. R. A. Prado <[email protected]>
arm64: dts: qcom: sc7180-trogdor: Disable pwmleds node where unused

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am62p5-sk: Fix pinmux for McASP1 TX

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am625-phyboard-lyra-rdk: Drop McASP AFIFOs

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am62-verdin: Drop McASP AFIFOs

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am625-beagleplay: Drop McASP AFIFOs

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am62p5: Drop McASP AFIFOs

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am62a7: Drop McASP AFIFOs

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am62x: Drop McASP AFIFOs

Vaishnav Achath <[email protected]>
arm64: dts: ti: k3-j722s: Fix main domain GPIO count

Josua Mayer <[email protected]>
arm64: dts: ti: k3-am642-hummingboard-t: correct rs485 rts polarity

Jayesh Choudhary <[email protected]>
arm64: dts: ti: k3-am62p-main: Fix the reg-range for main_pktdma

Jayesh Choudhary <[email protected]>
arm64: dts: ti: k3-am62a-main: Fix the reg-range for main_pktdma

Jayesh Choudhary <[email protected]>
arm64: dts: ti: k3-am62-main: Fix the reg-range for main_pktdma

Esben Haabendal <[email protected]>
memory: fsl_ifc: Make FSL_IFC config visible and selectable

Primoz Fiser <[email protected]>
OPP: ti: Fix ti_opp_supply_probe wrong return values

Konrad Dybcio <[email protected]>

    arm64: dts: qcom: sc8280xp: Throttle the GPU when overheating

Konrad Dybcio <[email protected]>

    arm64: dts: qcom: sc8280xp-*: Remove thermal zone polling delays

Primoz Fiser <[email protected]>
cpufreq: ti-cpufreq: Handle deferred probe with dev_err_probe()

Dmitry Baryshkov <[email protected]>

    arm64: dts: qcom: qrb4210-rb2: make L9A always-on

Marek Vasut <[email protected]>
ARM: dts: stm32: Add arm,no-tick-in-suspend to STM32MP15xx STGEN timer

Pavel Löbl <[email protected]>
ARM: dts: sunxi: remove duplicated entries in makefile

Jay Buddhabhatti <[email protected]>
soc: xilinx: rename cpu_number1 to dummy_cpu_number

Sagar Cheluvegowda <[email protected]>
arm64: dts: qcom: sa8775p: mark ethernet devices as DMA-coherent

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: msm8996: specify UFS core_clk frequencies

Viresh Kumar <[email protected]>
OPP: Fix missing cleanup on error in _opp_attach_genpd()

Javier Carrasco <[email protected]>
cpufreq: sun50i: fix memory leak in dt_has_supported_hw()

Jonas Karlman <[email protected]>
arm64: dts: rockchip: Update WIFi/BT related nodes on rk3308-rock-pi-s

Jonas Karlman <[email protected]>
arm64: dts: rockchip: Add mdio and ethernet-phy nodes to rk3308-rock-pi-s

Jonas Karlman <[email protected]>
arm64: dts: rockchip: Add pinctrl for UART0 to rk3308-rock-pi-s

Jonas Karlman <[email protected]>
arm64: dts: rockchip: Add sdmmc related properties on rk3308-rock-pi-s

Stephen Boyd <[email protected]>
soc: qcom: rpmh-rsc: Ensure irqs aren't disabled by rpmh_rsc_send_data() callers

Chen Ni <[email protected]>
soc: qcom: pmic_glink: Handle the return value of pmic_glink_init

Marc Gonzalez <[email protected]>
arm64: dts: qcom: msm8998: enable adreno_smmu by default

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sdm850-lenovo-yoga-c630: fix IPA firmware path

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: msm8996-xiaomi-common: drop excton from the USB PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sm8450: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sm8350: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sm8250: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sm6350: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sm6115: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sdm845: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>

    arm64: dts: qcom: sc8180x: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sc7180: drop extra UFS PHY compat

Rayyan Ansari <[email protected]>
ARM: dts: qcom: msm8226-microsoft-common: Enable smbb explicitly

Viken Dadhaniya <[email protected]>
arm64: dts: qcom: sc7280: Remove CTS/RTS configuration

Bjorn Andersson <[email protected]>

    arm64: dts: qcom: sc8180x: Correct PCIe slave ports

Konrad Dybcio <[email protected]>
soc: qcom: socinfo: Update X1E PMICs

Guenter Roeck <[email protected]>
hwmon: (max6697) Fix swapped temp{1,8} critical alarms

Guenter Roeck <[email protected]>
hwmon: (max6697) Fix underflow when writing limit attributes

Nirmoy Das <[email protected]>
drm/xe/display/xe_hdcp_gsc: Free arbiter on driver removal

Uwe Kleine-König <[email protected]>
pwm: atmel-tcb: Fix race condition and convert to guards

Yao Zi <[email protected]>
drm/meson: fix canvas release in bind function

Gaosheng Cui <[email protected]>
nvmet-auth: fix nvmet_auth hash error handling

Jinjie Ruan <[email protected]>
arm64: smp: Fix missing IPI statistics

Adam Ford <[email protected]>
drm/bridge: adv7511: Fix Intermittent EDID failures

Uwe Kleine-König <[email protected]>
pwm: stm32: Always do lazy disabling

Dan Carpenter <[email protected]>
hwmon: (ltc2991) re-order conditions to fix off by one bug

Benjamin Marzinski <[email protected]>
md/raid5: recheck if reshape has finished with device_lock held

Yu Kuai <[email protected]>
md: Don't wait for MD_RECOVERY_NEEDED for HOT_REMOVE_DISK ioctl

Rob Herring (Arm) <[email protected]>
perf: arm_pmuv3: Avoid assigning fixed cycle counter with threshold

Christoph Hellwig <[email protected]>
xen-blkfront: fix sector_size propagation to the block layer

Bart Van Assche <[email protected]>
block/mq-deadline: Fix the tag reservation code

Bart Van Assche <[email protected]>
block: Call .limit_depth() after .hctx has been set

Wayne Tung <[email protected]>
hwmon: (adt7475) Fix default duty on fan is disabled

Chen Ridong <[email protected]>
cgroup/cpuset: Prevent UAF in proc_cpuset_show()

Josh Poimboeuf <[email protected]>
x86/syscall: Mark exit[_group] syscall handlers __noreturn

Ilpo Järvinen <[email protected]>
x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos

Ilpo Järvinen <[email protected]>
x86/pci/xen: Fix PCIBIOS_* return code handling

Ilpo Järvinen <[email protected]>
x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling

Ilpo Järvinen <[email protected]>
x86/of: Return consistent error type from x86_of_pci_irq_enable()

Chao Yu <[email protected]>
hfsplus: fix to avoid false alarm of circular locking

Masahiro Yamada <[email protected]>
x86/kconfig: Add as-instr64 macro to properly evaluate AS_WRUSS

Waiman Long <[email protected]>
cgroup/cpuset: Fix remote root partition creation problem

Waiman Long <[email protected]>
cgroup/cpuset: Optimize isolated partition only generate_sched_domains() calls

Gabriel Krisman Bertazi <[email protected]>
io_uring: Fix probe of disabled operations

Damien Le Moal <[email protected]>
dm: Call dm_revalidate_zones() after setting the queue limits

Christoph Hellwig <[email protected]>
block: initialize integrity buffer to zero before writing it to media

Christoph Hellwig <[email protected]>
ubd: untagle discard vs write zeroes not support handling

Christoph Hellwig <[email protected]>
ubd: refactor the interrupt handler

Tzung-Bi Shih <[email protected]>
platform/chrome: cros_ec_debugfs: fix wrong EC message version

Christoph Hellwig <[email protected]>
md/raid1: don't free conf on raid0_run failure

Christoph Hellwig <[email protected]>
md/raid0: don't free conf on raid0_run failure

Li Nan <[email protected]>
md: fix deadlock between mddev_suspend and flush bio

Frederic Weisbecker <[email protected]>
rcu/tasks: Fix stale task snaphot for Tasks Trace

Arnd Bergmann <[email protected]>
EDAC, i10nm: make skx_common.o a separate module

Chen Ni <[email protected]>
spi: atmel-quadspi: Add missing check for clk_prepare

Prajna Rajendra Kumar <[email protected]>
spi: spi-microchip-core: Fix the number of chip selects supported

-------------

Diffstat:

 Documentation/admin-guide/kernel-parameters.txt    |   4 +-
 Documentation/arch/powerpc/kvm-nested.rst          |   4 +-
 .../phy/qcom,sc8280xp-qmp-usb3-uni-phy.yaml        |   2 +-
 .../devicetree/bindings/thermal/thermal-zones.yaml |   5 +-
 Documentation/networking/xsk-tx-metadata.rst       |  16 +-
 Documentation/virt/kvm/api.rst                     |  12 +
 Makefile                                           |   4 +-
 arch/arm/boot/dts/allwinner/Makefile               |  62 --
 .../arm/boot/dts/nxp/imx/imx6q-kontron-samx6i.dtsi |  23 -
 .../boot/dts/nxp/imx/imx6qdl-kontron-samx6i.dtsi   |  14 +-
 .../dts/qcom/qcom-msm8226-microsoft-common.dtsi    |   4 +
 arch/arm/boot/dts/st/stm32mp151.dtsi               |   1 +
 arch/arm/mach-pxa/spitz.c                          |  30 +-
 arch/arm/mm/fault.c                                |   4 +-
 arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi  |   5 +
 arch/arm64/boot/dts/amlogic/meson-g12.dtsi         |   4 +
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi        |  10 +-
 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi         |  10 +-
 arch/arm64/boot/dts/amlogic/meson-sm1.dtsi         |   8 +-
 arch/arm64/boot/dts/freescale/imx8mp.dtsi          |  89 +--
 .../boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts  |   4 +-
 arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts       |   4 +-
 arch/arm64/boot/dts/mediatek/mt7981b.dtsi          |   8 +-
 .../dts/mediatek/mt8183-kukui-audio-da7219.dtsi    |   2 +-
 .../dts/mediatek/mt8183-kukui-jacuzzi-pico6.dts    |   8 +-
 .../boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi    |  25 +-
 arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi     |   4 +-
 arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi   |   1 +
 arch/arm64/boot/dts/mediatek/mt8192.dtsi           |   2 +-
 arch/arm64/boot/dts/mediatek/mt8195.dtsi           |   2 +-
 .../boot/dts/mediatek/mt8395-radxa-nio-12l.dts     |   2 +-
 .../arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi |   1 -
 arch/arm64/boot/dts/qcom/msm8996.dtsi              |   2 +-
 arch/arm64/boot/dts/qcom/msm8998.dtsi              |   1 -
 arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts |   1 -
 arch/arm64/boot/dts/qcom/qcm6490-idp.dts           |   1 -
 arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts       |   1 -
 arch/arm64/boot/dts/qcom/qdu1000.dtsi              |  15 +
 arch/arm64/boot/dts/qcom/qrb4210-rb2.dts           |   4 +-
 arch/arm64/boot/dts/qcom/sa8775p.dtsi              |   2 +
 .../boot/dts/qcom/sc7180-trogdor-lazor-r1-kb.dts   |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r1-lte.dts  |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r10-kb.dts  |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r10-lte.dts |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r3-kb.dts   |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r3-lte.dts  |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r9-kb.dts   |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r9-lte.dts  |   2 +-
 arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi       |   5 +-
 arch/arm64/boot/dts/qcom/sc7180.dtsi               |   3 +-
 arch/arm64/boot/dts/qcom/sc7280-idp.dtsi           |   1 -
 arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi         |   1 -
 arch/arm64/boot/dts/qcom/sc7280.dtsi               |  14 +-
 arch/arm64/boot/dts/qcom/sc8180x.dtsi              |   8 +-
 .../dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts     |   2 +-
 arch/arm64/boot/dts/qcom/sc8280xp-pmics.dtsi       |   4 +-
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi             |  28 +-
 arch/arm64/boot/dts/qcom/sdm845.dtsi               |   2 +
 .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts      |   1 +
 arch/arm64/boot/dts/qcom/sm6115.dtsi               |   2 +
 arch/arm64/boot/dts/qcom/sm6350.dtsi               |   4 +
 arch/arm64/boot/dts/qcom/sm8250.dtsi               |   2 +
 arch/arm64/boot/dts/qcom/sm8350.dtsi               |   2 +
 arch/arm64/boot/dts/qcom/sm8450.dtsi               |   2 +
 arch/arm64/boot/dts/qcom/x1e80100-crd.dts          |   6 +-
 arch/arm64/boot/dts/qcom/x1e80100-qcp.dts          |   6 +-
 arch/arm64/boot/dts/renesas/r8a779a0.dtsi          |   5 +-
 arch/arm64/boot/dts/renesas/r8a779f0.dtsi          |   5 +-
 arch/arm64/boot/dts/renesas/r8a779g0.dtsi          |   5 +-
 arch/arm64/boot/dts/renesas/r8a779h0.dtsi          |   1 -
 arch/arm64/boot/dts/renesas/r9a07g043u.dtsi        |   5 +-
 arch/arm64/boot/dts/renesas/r9a07g044.dtsi         |   5 +-
 arch/arm64/boot/dts/renesas/r9a07g054.dtsi         |   5 +-
 arch/arm64/boot/dts/renesas/r9a08g045.dtsi         |   5 +-
 arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts  |  71 +-
 arch/arm64/boot/dts/rockchip/rk3328.dtsi           |   4 +-
 arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts     |   2 +-
 arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts   |   2 +-
 .../boot/dts/rockchip/rk3568-fastrhino-r66s.dts    |   4 +
 .../boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi   |  48 +-
 .../boot/dts/rockchip/rk3568-fastrhino-r68s.dts    |  16 +-
 arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts    |   4 -
 arch/arm64/boot/dts/rockchip/rk356x.dtsi           |   1 +
 arch/arm64/boot/dts/ti/k3-am62-main.dtsi           |   4 +-
 arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi         |   4 -
 arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts     |   2 -
 .../boot/dts/ti/k3-am625-phyboard-lyra-rdk.dts     |   2 -
 arch/arm64/boot/dts/ti/k3-am62a-main.dtsi          |   4 +-
 arch/arm64/boot/dts/ti/k3-am62a7-sk.dts            |   2 -
 arch/arm64/boot/dts/ti/k3-am62p-main.dtsi          |   4 +-
 arch/arm64/boot/dts/ti/k3-am62p5-sk.dts            |   4 +-
 arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi     |   2 -
 arch/arm64/boot/dts/ti/k3-am642-hummingboard-t.dts |   1 -
 arch/arm64/boot/dts/ti/k3-j722s.dtsi               |   8 +
 arch/arm64/include/asm/pgtable.h                   |  22 +
 arch/arm64/kernel/smp.c                            |   6 +-
 arch/arm64/net/bpf_jit_comp.c                      |   4 +-
 arch/loongarch/kernel/hw_breakpoint.c              |   2 +-
 arch/loongarch/kernel/ptrace.c                     |   3 +
 arch/m68k/amiga/config.c                           |   9 +
 arch/m68k/atari/ataints.c                          |   6 +-
 arch/m68k/include/asm/cmpxchg.h                    |   2 +-
 arch/mips/Makefile                                 |   2 +-
 arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi |  21 +-
 arch/mips/include/asm/mach-loongson64/boot_param.h |   2 +
 arch/mips/include/asm/mips-cm.h                    |   4 +
 arch/mips/kernel/smp-cps.c                         |   5 +-
 arch/mips/loongson64/env.c                         |   8 +
 arch/mips/loongson64/reset.c                       |  38 +-
 arch/mips/loongson64/smp.c                         |  23 +-
 arch/mips/pci/pcie-octeon.c                        |   0
 arch/mips/sgi-ip30/ip30-console.c                  |   1 +
 arch/parisc/Kconfig                                |   1 +
 arch/powerpc/configs/85xx-hw.config                |   2 +
 arch/powerpc/include/asm/guest-state-buffer.h      |   3 +-
 arch/powerpc/include/asm/kvm_book3s.h              |   1 +
 arch/powerpc/kernel/prom.c                         |  12 +-
 arch/powerpc/kexec/core_64.c                       |  55 +-
 arch/powerpc/kvm/book3s_hv.c                       |   9 +-
 arch/powerpc/kvm/book3s_hv_nestedv2.c              |   7 +
 arch/powerpc/kvm/powerpc.c                         |   4 +-
 arch/powerpc/kvm/test-guest-state-buffer.c         |   2 +-
 arch/powerpc/mm/nohash/8xx.c                       |   3 +-
 arch/powerpc/xmon/ppc-dis.c                        |  33 +-
 arch/riscv/kernel/head.S                           |  19 +-
 arch/riscv/kernel/smpboot.c                        |  14 +-
 arch/riscv/net/bpf_jit_comp64.c                    |  18 +-
 arch/s390/kernel/perf_cpum_cf.c                    |  14 +-
 arch/s390/kernel/setup.c                           |   2 +-
 arch/s390/kernel/uv.c                              |   8 +
 arch/s390/kvm/kvm-s390.c                           |   3 +
 arch/s390/pci/pci_irq.c                            | 110 ++--
 arch/sparc/include/asm/oplib_64.h                  |   1 +
 arch/sparc/prom/init_64.c                          |   3 -
 arch/sparc/prom/p1275.c                            |   2 +-
 arch/um/drivers/ubd_kern.c                         |  50 +-
 arch/um/kernel/time.c                              |   4 +-
 arch/um/os-Linux/signal.c                          | 118 +++-
 arch/x86/Kconfig.assembler                         |   2 +-
 arch/x86/Makefile.um                               |   1 +
 arch/x86/entry/syscall_32.c                        |  10 +-
 arch/x86/entry/syscall_64.c                        |   9 +-
 arch/x86/entry/syscall_x32.c                       |   7 +-
 arch/x86/entry/syscalls/syscall_32.tbl             |   6 +-
 arch/x86/entry/syscalls/syscall_64.tbl             |   6 +-
 arch/x86/events/amd/uncore.c                       |  28 +-
 arch/x86/events/core.c                             |   3 +
 arch/x86/events/intel/cstate.c                     |   7 +-
 arch/x86/events/intel/ds.c                         |   8 +-
 arch/x86/events/intel/pt.c                         |   4 +-
 arch/x86/events/intel/pt.h                         |   4 +-
 arch/x86/events/intel/uncore_snbep.c               |   6 +-
 arch/x86/include/asm/kvm-x86-ops.h                 |   1 -
 arch/x86/include/asm/kvm_host.h                    |   3 +-
 arch/x86/include/asm/shstk.h                       |   2 +
 arch/x86/kernel/devicetree.c                       |   2 +-
 arch/x86/kernel/shstk.c                            |  11 +
 arch/x86/kernel/uprobes.c                          |   7 +-
 arch/x86/kvm/vmx/main.c                            |   1 -
 arch/x86/kvm/vmx/nested.c                          |  47 +-
 arch/x86/kvm/vmx/posted_intr.h                     |  10 +
 arch/x86/kvm/vmx/vmx.c                             |  31 +-
 arch/x86/kvm/vmx/vmx.h                             |   1 +
 arch/x86/kvm/vmx/x86_ops.h                         |   1 -
 arch/x86/kvm/x86.c                                 |  14 +-
 arch/x86/pci/intel_mid_pci.c                       |   4 +-
 arch/x86/pci/xen.c                                 |   4 +-
 arch/x86/platform/intel/iosf_mbi.c                 |   4 +-
 arch/x86/um/sys_call_table_32.c                    |  10 +-
 arch/x86/um/sys_call_table_64.c                    |  11 +-
 arch/x86/virt/svm/sev.c                            |  44 +-
 arch/x86/xen/p2m.c                                 |   4 +-
 block/bio-integrity.c                              |  11 +-
 block/blk-mq.c                                     |  32 +-
 block/genhd.c                                      |   2 +-
 block/mq-deadline.c                                |  20 +-
 drivers/android/binder.c                           |   4 +-
 drivers/ata/libata-scsi.c                          | 176 ++---
 drivers/auxdisplay/ht16k33.c                       |   1 +
 drivers/base/devres.c                              |  11 +-
 drivers/block/null_blk/main.c                      |   2 +-
 drivers/block/rbd.c                                |  35 +-
 drivers/block/ublk_drv.c                           |   5 +-
 drivers/block/xen-blkfront.c                       |  16 +-
 drivers/bluetooth/btintel.c                        | 119 +---
 drivers/bluetooth/btintel_pcie.c                   |   6 +
 drivers/bluetooth/btnxpuart.c                      |  52 +-
 drivers/bluetooth/btusb.c                          |   4 +
 drivers/bluetooth/hci_bcm4377.c                    |   2 +-
 drivers/bus/mhi/ep/main.c                          |  14 +-
 drivers/char/hw_random/amd-rng.c                   |   4 +-
 drivers/char/hw_random/core.c                      |   4 +-
 drivers/char/ipmi/ssif_bmc.c                       |   6 +-
 drivers/char/tpm/eventlog/common.c                 |   2 +
 drivers/char/tpm/tpm_tis_spi_main.c                |   1 +
 drivers/clk/clk-en7523.c                           |   9 +-
 drivers/clk/davinci/da8xx-cfgchip.c                |   4 +-
 drivers/clk/meson/s4-peripherals.c                 |   2 +-
 drivers/clk/meson/s4-pll.c                         |   5 +
 drivers/clk/qcom/camcc-sc7280.c                    |   5 +
 drivers/clk/qcom/clk-rcg2.c                        |  32 +
 drivers/clk/qcom/gcc-sa8775p.c                     |  40 ++
 drivers/clk/qcom/gcc-sc7280.c                      |   3 +
 drivers/clk/qcom/gcc-x1e80100.c                    |  46 +-
 drivers/clk/qcom/gpucc-sa8775p.c                   |  41 +-
 drivers/clk/qcom/gpucc-sm8350.c                    |   5 +-
 drivers/clk/qcom/kpss-xcc.c                        |   4 +-
 drivers/clk/samsung/clk-exynos4.c                  |  13 +-
 drivers/cpufreq/amd-pstate-ut.c                    |  12 +-
 drivers/cpufreq/amd-pstate.c                       |  43 +-
 drivers/cpufreq/qcom-cpufreq-nvmem.c               |  13 +-
 drivers/cpufreq/sun50i-cpufreq-nvmem.c             |   4 +-
 drivers/cpufreq/ti-cpufreq.c                       |   2 +-
 drivers/crypto/atmel-sha204a.c                     |   2 +-
 drivers/crypto/ccp/sev-dev.c                       |   8 +-
 drivers/crypto/intel/qat/qat_common/adf_cfg.c      |   6 +-
 drivers/crypto/mxs-dcp.c                           |   3 +-
 drivers/crypto/tegra/tegra-se-main.c               |   1 -
 drivers/dma/fsl-edma-common.c                      |   3 +
 drivers/dma/fsl-edma-common.h                      |   1 +
 drivers/dma/fsl-edma-main.c                        |   2 +-
 drivers/dma/ti/k3-udma.c                           |   4 +-
 drivers/edac/Makefile                              |  10 +-
 drivers/edac/skx_common.c                          |  21 +-
 drivers/edac/skx_common.h                          |   4 +-
 drivers/firmware/efi/libstub/screen_info.c         |   2 +
 drivers/firmware/efi/libstub/x86-stub.c            |  25 +-
 drivers/firmware/turris-mox-rwtm.c                 |  23 +-
 drivers/gpu/drm/Kconfig                            |   3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c         |   2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c            |   5 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c            |   1 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c             |   9 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c              |   2 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c             |  12 +
 drivers/gpu/drm/amd/amdgpu/smu_v13_0_10.c          |   2 +-
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c              |   6 +
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c            |   6 +
 drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c            |   6 +
 drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c    |   2 +-
 drivers/gpu/drm/amd/display/dc/core/dc_surface.c   |   3 +-
 drivers/gpu/drm/amd/display/dc/dc.h                |   1 +
 .../drm/amd/display/dc/dml2/dml2_mall_phantom.c    |   2 +
 .../amd/display/dc/dml2/dml2_translation_helper.c  |  56 +-
 .../gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.c |  15 +-
 .../gpu/drm/amd/display/dc/optc/dcn20/dcn20_optc.c |  10 +
 .../amd/display/dc/resource/dcn32/dcn32_resource.c |  12 +-
 .../display/dc/resource/dcn321/dcn321_resource.c   |  12 +-
 .../gpu/drm/amd/display/include/grph_object_id.h   |   4 +-
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c     |   4 +-
 drivers/gpu/drm/arm/display/komeda/komeda_crtc.c   |  43 +-
 drivers/gpu/drm/bridge/adv7511/adv7511.h           |   2 +-
 drivers/gpu/drm/bridge/adv7511/adv7511_cec.c       |  13 +-
 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c       |  22 +-
 drivers/gpu/drm/bridge/ite-it6505.c                |  81 ++-
 drivers/gpu/drm/bridge/samsung-dsim.c              |   4 +-
 drivers/gpu/drm/display/drm_dp_mst_topology.c      |   4 +-
 drivers/gpu/drm/drm_fbdev_dma.c                    |   3 +-
 drivers/gpu/drm/drm_panic.c                        |  70 +-
 drivers/gpu/drm/etnaviv/etnaviv_gem.c              |   6 +-
 drivers/gpu/drm/etnaviv/etnaviv_sched.c            |   9 +-
 drivers/gpu/drm/gma500/cdv_intel_lvds.c            |   3 +
 drivers/gpu/drm/gma500/psb_intel_lvds.c            |   3 +
 .../gpu/drm/i915/display/intel_crtc_state_dump.c   |   7 +-
 drivers/gpu/drm/i915/display/intel_display.c       |   6 +-
 drivers/gpu/drm/i915/display/intel_display_types.h |   2 +-
 drivers/gpu/drm/i915/display/intel_dp.c            |   4 +-
 .../gpu/drm/i915/display/intel_dp_link_training.c  |  55 +-
 drivers/gpu/drm/i915/display/intel_fbc.c           |   2 +-
 drivers/gpu/drm/i915/display/intel_psr.c           |  36 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |   6 +-
 drivers/gpu/drm/mediatek/mtk_ddp_comp.c            | 107 +--
 drivers/gpu/drm/mediatek/mtk_ddp_comp.h            |   8 +-
 drivers/gpu/drm/mediatek/mtk_disp_ovl.c            |  41 +-
 drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c    |   2 +-
 drivers/gpu/drm/mediatek/mtk_dp.c                  |  10 +-
 drivers/gpu/drm/mediatek/mtk_dpi.c                 |   5 +-
 drivers/gpu/drm/mediatek/mtk_drm_drv.c             |  24 +
 drivers/gpu/drm/mediatek/mtk_drm_drv.h             |   4 +
 drivers/gpu/drm/mediatek/mtk_dsi.c                 |   5 +-
 drivers/gpu/drm/mediatek/mtk_ethdr.c               |  21 +-
 drivers/gpu/drm/mediatek/mtk_plane.c               |   4 +-
 drivers/gpu/drm/meson/meson_drv.c                  |  37 +-
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c              |   2 +-
 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c        |  13 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c        |   7 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h   |   5 +
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c   |  32 +-
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c   |  13 +-
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c    |  14 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c     |   6 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h         |   3 +-
 drivers/gpu/drm/msm/dp/dp_aux.c                    |   5 +-
 drivers/gpu/drm/msm/dsi/dsi_host.c                 |   6 +-
 drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c     |   8 +-
 drivers/gpu/drm/panel/panel-himax-hx8394.c         |   3 +-
 drivers/gpu/drm/panel/panel-ilitek-ili9882t.c      |   8 +-
 drivers/gpu/drm/panel/panel-lg-sw43408.c           |  33 +-
 drivers/gpu/drm/panfrost/panfrost_drv.c            |   1 +
 drivers/gpu/drm/panthor/panthor_sched.c            |   1 +
 drivers/gpu/drm/qxl/qxl_display.c                  |  17 +-
 drivers/gpu/drm/qxl/qxl_object.c                   |  13 +-
 drivers/gpu/drm/qxl/qxl_object.h                   |   4 +-
 drivers/gpu/drm/rockchip/rockchip_drm_vop2.c       |   2 +-
 drivers/gpu/drm/ttm/tests/ttm_bo_test.c            |  48 +-
 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c      |   7 +-
 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h      |   3 +-
 drivers/gpu/drm/ttm/tests/ttm_pool_test.c          |   4 +-
 drivers/gpu/drm/ttm/tests/ttm_resource_test.c      |   2 +-
 drivers/gpu/drm/ttm/tests/ttm_tt_test.c            |  20 +-
 drivers/gpu/drm/udl/udl_modeset.c                  |   3 +-
 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c           |  12 +-
 drivers/gpu/drm/xe/xe_bo.c                         |  47 +-
 drivers/gpu/drm/xe/xe_bo_types.h                   |   3 +-
 drivers/gpu/drm/xe/xe_exec.c                       |  14 +-
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c         |   1 +
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c                |   1 +
 drivers/gpu/drm/xlnx/zynqmp_kms.c                  |  12 +-
 drivers/hwmon/adt7475.c                            |   2 +-
 drivers/hwmon/ltc2991.c                            |   4 +-
 drivers/hwmon/max6697.c                            |   5 +-
 drivers/hwtracing/coresight/coresight-platform.c   |   4 +-
 drivers/i3c/master/mipi-i3c-hci/core.c             |   8 +
 drivers/iio/adc/ad9467.c                           |  65 +-
 drivers/iio/adc/adi-axi-adc.c                      |   2 +
 drivers/iio/frequency/adrf6780.c                   |   1 -
 drivers/iio/industrialio-gts-helper.c              |   7 +-
 drivers/infiniband/core/cache.c                    |  14 +-
 drivers/infiniband/core/device.c                   |  14 +-
 drivers/infiniband/core/iwcm.c                     |  11 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           |   8 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.h           |   6 +-
 drivers/infiniband/hw/hns/hns_roce_device.h        |   7 +
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         | 164 +++--
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |   6 +
 drivers/infiniband/hw/hns/hns_roce_mr.c            |   5 +
 drivers/infiniband/hw/hns/hns_roce_qp.c            |   4 +-
 drivers/infiniband/hw/hns/hns_roce_srq.c           |   2 +-
 drivers/infiniband/hw/mana/device.c                |  16 +-
 drivers/infiniband/hw/mlx4/alias_GUID.c            |   2 +-
 drivers/infiniband/hw/mlx4/mad.c                   |   2 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |  13 +
 drivers/infiniband/hw/mlx5/odp.c                   |   6 +-
 drivers/infiniband/sw/rxe/rxe_req.c                |   7 +-
 drivers/input/keyboard/qt1050.c                    |   7 +-
 drivers/input/mouse/elan_i2c_core.c                |   2 +
 drivers/interconnect/qcom/qcm2290.c                |   2 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c        |   2 +-
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c   |  17 +-
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c         |  39 ++
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.h         |   2 +
 drivers/iommu/intel/cache.c                        |   3 +-
 drivers/iommu/intel/iommu.c                        |   2 +-
 drivers/iommu/iommufd/iova_bitmap.c                |   5 +-
 drivers/iommu/iommufd/selftest.c                   |   2 +-
 drivers/iommu/sprd-iommu.c                         |   2 +-
 drivers/irqchip/irq-imx-irqsteer.c                 |  24 +-
 drivers/isdn/hardware/mISDN/hfcmulti.c             |   7 +-
 drivers/leds/flash/leds-mt6360.c                   |   5 +-
 drivers/leds/flash/leds-qcom-flash.c               |  10 +-
 drivers/leds/led-class.c                           |   1 -
 drivers/leds/led-triggers.c                        |   8 +-
 drivers/leds/leds-ss4200.c                         |   7 +-
 drivers/leds/rgb/leds-qcom-lpg.c                   |   8 +-
 drivers/leds/trigger/ledtrig-timer.c               |   5 -
 drivers/macintosh/therm_windtunnel.c               |   2 +-
 drivers/mailbox/imx-mailbox.c                      |  10 +-
 drivers/mailbox/mtk-cmdq-mailbox.c                 |  12 +-
 drivers/mailbox/omap-mailbox.c                     |   3 +-
 drivers/md/dm-raid.c                               |   7 +-
 drivers/md/dm-table.c                              |  15 +-
 drivers/md/dm-verity-target.c                      |  16 +-
 drivers/md/dm-zone.c                               |  25 +-
 drivers/md/dm.h                                    |   1 +
 drivers/md/md-bitmap.c                             |   6 +-
 drivers/md/md-cluster.c                            |  22 +-
 drivers/md/md.c                                    |  32 +-
 drivers/md/raid0.c                                 |  21 +-
 drivers/md/raid1.c                                 |  15 +-
 drivers/md/raid5.c                                 |  76 ++-
 drivers/media/i2c/Kconfig                          |   1 +
 drivers/media/i2c/alvium-csi2.c                    |   6 +-
 drivers/media/i2c/hi846.c                          |   2 +-
 drivers/media/i2c/imx219.c                         |   2 +-
 drivers/media/i2c/imx412.c                         |   9 +-
 drivers/media/pci/intel/ivsc/mei_csi.c             |  14 +-
 drivers/media/pci/ivtv/ivtv-udma.c                 |   8 +
 drivers/media/pci/ivtv/ivtv-yuv.c                  |   6 +
 drivers/media/pci/ivtv/ivtvfb.c                    |   6 +-
 drivers/media/pci/saa7134/saa7134-dvb.c            |   8 +-
 .../mediatek/vcodec/decoder/vdec/vdec_vp8_if.c     |   2 +-
 .../platform/mediatek/vcodec/decoder/vdec_vpu_if.c |   6 +
 drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c     |   3 +
 drivers/media/platform/nxp/imx-pxp.c               |   3 +
 drivers/media/platform/qcom/venus/vdec.c           |   3 +-
 drivers/media/platform/renesas/rcar-csi2.c         |   5 +-
 drivers/media/platform/renesas/rcar-vin/rcar-dma.c |  16 +-
 drivers/media/platform/renesas/vsp1/vsp1_histo.c   |  20 +-
 drivers/media/platform/renesas/vsp1/vsp1_pipe.h    |   2 +-
 drivers/media/platform/renesas/vsp1/vsp1_rpf.c     |   8 +-
 .../platform/st/sti/c8sectpfe/c8sectpfe-debugfs.h  |   4 +-
 .../platform/st/stm32/stm32-dcmipp/dcmipp-core.c   |   4 +-
 drivers/media/rc/imon.c                            |   5 +-
 drivers/media/rc/lirc_dev.c                        |   4 +-
 drivers/media/usb/dvb-usb/dvb-usb-init.c           |  35 +-
 drivers/media/usb/uvc/uvc_ctrl.c                   |   9 +-
 drivers/media/usb/uvc/uvc_driver.c                 |  12 +-
 drivers/media/usb/uvc/uvc_video.c                  |  21 +-
 drivers/media/usb/uvc/uvcvideo.h                   |   1 +
 drivers/media/v4l2-core/v4l2-async.c               |   3 +
 drivers/memory/Kconfig                             |   2 +-
 drivers/mfd/Makefile                               |   6 +-
 drivers/mfd/omap-usb-tll.c                         |   3 +-
 drivers/mfd/rsmu_core.c                            |   2 +
 drivers/misc/eeprom/ee1004.c                       |   6 +-
 drivers/mtd/nand/raw/Kconfig                       |   3 +-
 drivers/mtd/spi-nor/winbond.c                      |   2 +
 drivers/mtd/tests/Makefile                         |  34 +-
 drivers/mtd/tests/mtd_test.c                       |   9 +
 drivers/mtd/ubi/eba.c                              |   3 +-
 drivers/net/bonding/bond_main.c                    |   7 +-
 drivers/net/dsa/b53/b53_common.c                   |   3 +
 drivers/net/dsa/microchip/ksz_common.c             |   7 +
 drivers/net/dsa/mv88e6xxx/chip.c                   |   3 +-
 drivers/net/ethernet/brocade/bna/bna_types.h       |   2 +-
 drivers/net/ethernet/brocade/bna/bnad.c            |  11 +-
 drivers/net/ethernet/cortina/gemini.c              |  23 +-
 drivers/net/ethernet/freescale/fec_main.c          |   6 +
 drivers/net/ethernet/google/gve/gve_tx.c           |   5 +-
 drivers/net/ethernet/google/gve/gve_tx_dqo.c       |  22 +-
 drivers/net/ethernet/hisilicon/hns3/Makefile       |  11 +-
 .../hisilicon/hns3/hns3_common/hclge_comm_cmd.c    |  11 +
 .../hisilicon/hns3/hns3_common/hclge_comm_rss.c    |  14 +
 .../hns3/hns3_common/hclge_comm_tqp_stats.c        |   5 +
 drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c  |   2 +-
 drivers/net/ethernet/intel/ice/ice_fdir.h          |   3 +
 drivers/net/ethernet/intel/ice/ice_switch.c        |   8 +-
 drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c |  16 +
 drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.h |   1 +
 drivers/net/ethernet/mediatek/mtk_eth_soc.c        |   3 +-
 .../ethernet/mellanox/mlxsw/spectrum_acl_atcam.c   |  18 +-
 .../mellanox/mlxsw/spectrum_acl_bloom_filter.c     |   2 +-
 .../net/ethernet/mellanox/mlxsw/spectrum_acl_erp.c |  13 -
 .../ethernet/mellanox/mlxsw/spectrum_acl_tcam.h    |   9 +-
 drivers/net/ethernet/microsoft/mana/mana_en.c      |  19 +
 drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c  |   2 +-
 .../net/ethernet/stmicro/stmmac/dwxgmac2_core.c    |   2 +-
 drivers/net/ethernet/stmicro/stmmac/hwif.h         |   2 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |   4 +-
 drivers/net/netconsole.c                           |   2 +-
 drivers/net/pse-pd/pse_core.c                      |   4 +-
 drivers/net/virtio_net.c                           |   8 +-
 drivers/net/wireless/ath/ath11k/ce.h               |   6 +-
 drivers/net/wireless/ath/ath11k/core.c             |  29 +-
 drivers/net/wireless/ath/ath11k/dp_rx.c            |   3 +-
 drivers/net/wireless/ath/ath11k/dp_rx.h            |   3 +
 drivers/net/wireless/ath/ath11k/mac.c              |  28 +-
 drivers/net/wireless/ath/ath11k/reg.c              |  14 +-
 drivers/net/wireless/ath/ath11k/reg.h              |   4 +-
 drivers/net/wireless/ath/ath12k/acpi.c             |   2 +
 drivers/net/wireless/ath/ath12k/ce.h               |   6 +-
 drivers/net/wireless/ath/ath12k/core.c             |   7 +-
 drivers/net/wireless/ath/ath12k/dp.c               |  18 +-
 drivers/net/wireless/ath/ath12k/dp.h               |   1 +
 drivers/net/wireless/ath/ath12k/dp_rx.c            |  67 +-
 drivers/net/wireless/ath/ath12k/dp_tx.c            |  47 +-
 drivers/net/wireless/ath/ath12k/hal_desc.h         |  48 +-
 drivers/net/wireless/ath/ath12k/hw.c               |   8 +-
 drivers/net/wireless/ath/ath12k/hw.h               |   3 +-
 drivers/net/wireless/ath/ath12k/mac.c              |  17 +-
 drivers/net/wireless/ath/ath12k/wmi.c              |  23 +-
 drivers/net/wireless/ath/ath12k/wmi.h              |  12 +-
 .../broadcom/brcm80211/brcmsmac/phy/phy_lcn.c      |  18 +-
 drivers/net/wireless/intel/iwlwifi/mvm/link.c      |   9 +
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c  |  10 +-
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h       |   9 +-
 .../net/wireless/intel/iwlwifi/mvm/time-event.c    |   5 +-
 drivers/net/wireless/marvell/mwifiex/cfg80211.c    |   2 +
 drivers/net/wireless/realtek/rtl8xxxu/8188f.c      |  15 +
 drivers/net/wireless/realtek/rtw88/mac.c           |   9 +
 drivers/net/wireless/realtek/rtw88/main.h          |   2 +
 drivers/net/wireless/realtek/rtw88/reg.h           |   1 +
 drivers/net/wireless/realtek/rtw88/rtw8703b.c      |   1 +
 drivers/net/wireless/realtek/rtw88/rtw8723d.c      |   1 +
 drivers/net/wireless/realtek/rtw88/rtw8821c.c      |   1 +
 drivers/net/wireless/realtek/rtw88/rtw8822b.c      |   1 +
 drivers/net/wireless/realtek/rtw88/rtw8822c.c      |   1 +
 drivers/net/wireless/realtek/rtw88/usb.c           |   6 +-
 drivers/net/wireless/realtek/rtw89/debug.c         |   2 +-
 drivers/net/wireless/realtek/rtw89/fw.c            |  13 +-
 drivers/net/wireless/realtek/rtw89/mac.c           |   5 +-
 drivers/net/wireless/realtek/rtw89/pci.c           |  23 +-
 drivers/net/wireless/realtek/rtw89/rtw8852b.c      |   6 +-
 drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c  |   2 +-
 drivers/net/wireless/virtual/virt_wifi.c           |  20 +-
 drivers/nvme/host/pci.c                            |   5 +-
 drivers/nvme/target/auth.c                         |  14 +-
 drivers/nvmem/rockchip-otp.c                       |   1 +
 drivers/opp/core.c                                 |   6 +-
 drivers/opp/ti-opp-supply.c                        |   6 +-
 drivers/parport/procfs.c                           |  24 +-
 drivers/pci/controller/dwc/pci-keystone.c          | 156 +++--
 drivers/pci/controller/dwc/pcie-designware-ep.c    |  13 +-
 drivers/pci/controller/dwc/pcie-dw-rockchip.c      |   2 +-
 drivers/pci/controller/dwc/pcie-qcom-ep.c          |   6 -
 drivers/pci/controller/dwc/pcie-tegra194.c         |   1 +
 drivers/pci/controller/pci-hyperv.c                |   4 +-
 drivers/pci/controller/pci-loongson.c              |  13 +
 drivers/pci/controller/pcie-rcar-host.c            |   6 +-
 drivers/pci/controller/pcie-rockchip.c             |   2 +-
 drivers/pci/endpoint/functions/pci-epf-test.c      |  14 +-
 drivers/pci/endpoint/functions/pci-epf-vntb.c      |  19 +-
 drivers/pci/pci.c                                  |   6 +-
 drivers/pci/setup-bus.c                            |   6 +-
 drivers/perf/arm_pmuv3.c                           |  10 +-
 drivers/phy/cadence/phy-cadence-torrent.c          |   3 +
 drivers/phy/qualcomm/phy-qcom-qmp-pcie.c           |   9 +-
 drivers/phy/rockchip/Kconfig                       |   2 +
 drivers/phy/xilinx/phy-zynqmp.c                    |  14 +-
 drivers/pinctrl/core.c                             |  12 +-
 drivers/pinctrl/freescale/pinctrl-mxs.c            |   4 +-
 drivers/pinctrl/pinctrl-rockchip.c                 |  17 +-
 drivers/pinctrl/pinctrl-single.c                   |   7 +-
 drivers/pinctrl/renesas/pfc-r8a779g0.c             | 716 ++++++++++-----------
 drivers/pinctrl/ti/pinctrl-ti-iodelay.c            |  11 +-
 drivers/platform/Makefile                          |   2 +-
 drivers/platform/chrome/cros_ec_debugfs.c          |   1 +
 drivers/platform/mips/cpu_hwmon.c                  |   3 +
 drivers/platform/x86/asus-wmi.c                    |   6 +-
 drivers/power/supply/ab8500_charger.c              |  16 +-
 drivers/power/supply/ingenic-battery.c             |  10 +-
 drivers/pwm/pwm-atmel-tcb.c                        |  12 +-
 drivers/pwm/pwm-stm32.c                            |   5 +-
 drivers/remoteproc/imx_rproc.c                     |  10 +-
 drivers/remoteproc/mtk_scp.c                       |  21 +-
 drivers/remoteproc/stm32_rproc.c                   |   2 +-
 drivers/remoteproc/ti_k3_r5_remoteproc.c           |  13 +-
 drivers/rtc/interface.c                            |   9 +-
 drivers/rtc/rtc-abx80x.c                           |  12 +-
 drivers/rtc/rtc-cmos.c                             |  10 +-
 drivers/rtc/rtc-isl1208.c                          |  11 +-
 drivers/rtc/rtc-tps6594.c                          |   4 -
 drivers/s390/block/dasd_devmap.c                   |  10 +-
 drivers/scsi/lpfc/lpfc_attr.c                      |   5 +
 drivers/scsi/lpfc/lpfc_hbadisc.c                   |   2 +-
 drivers/scsi/lpfc/lpfc_sli.c                       |  19 +-
 drivers/scsi/qla2xxx/qla_bsg.c                     |  98 +--
 drivers/scsi/qla2xxx/qla_def.h                     |  17 +-
 drivers/scsi/qla2xxx/qla_gbl.h                     |   6 +-
 drivers/scsi/qla2xxx/qla_gs.c                      | 473 +++++++-------
 drivers/scsi/qla2xxx/qla_init.c                    |  92 ++-
 drivers/scsi/qla2xxx/qla_inline.h                  |   8 +
 drivers/scsi/qla2xxx/qla_mid.c                     |   2 +-
 drivers/scsi/qla2xxx/qla_nvme.c                    |   5 +-
 drivers/scsi/qla2xxx/qla_os.c                      |  19 +-
 drivers/scsi/qla2xxx/qla_sup.c                     | 108 +++-
 drivers/scsi/sr_ioctl.c                            |   2 +-
 drivers/soc/mediatek/mtk-mutex.c                   |   1 +
 drivers/soc/qcom/icc-bwmon.c                       |   4 +-
 drivers/soc/qcom/pdr_interface.c                   |   8 +-
 drivers/soc/qcom/pmic_glink.c                      |  13 +-
 drivers/soc/qcom/rpmh-rsc.c                        |   7 +-
 drivers/soc/qcom/rpmh.c                            |   1 -
 drivers/soc/qcom/socinfo.c                         |   3 +-
 drivers/soc/xilinx/xlnx_event_manager.c            |  15 +-
 drivers/soc/xilinx/zynqmp_power.c                  |   4 +-
 drivers/spi/atmel-quadspi.c                        |  11 +-
 drivers/spi/spi-microchip-core.c                   | 139 ++--
 drivers/spi/spidev.c                               |   1 +
 drivers/thermal/broadcom/bcm2835_thermal.c         |  19 +-
 drivers/thermal/thermal_core.c                     |  89 ++-
 drivers/thermal/thermal_core.h                     |  10 +-
 drivers/ufs/core/ufs-mcq.c                         |  10 +-
 drivers/usb/host/xhci-pci.c                        |   4 +-
 drivers/usb/typec/mux/nb7vpq904m.c                 |   7 +-
 drivers/usb/typec/mux/ptn36502.c                   |  11 +-
 drivers/vhost/vsock.c                              |   4 +-
 drivers/video/fbdev/vesafb.c                       |   2 +-
 drivers/watchdog/rzg2l_wdt.c                       |  22 +-
 fs/btrfs/compression.c                             |   2 +-
 fs/ceph/super.c                                    |   3 +-
 fs/erofs/zutil.c                                   |   3 +
 fs/exfat/dir.c                                     |   2 +-
 fs/ext2/balloc.c                                   |  11 +-
 fs/ext4/extents_status.c                           |   2 +
 fs/ext4/fast_commit.c                              |   6 +
 fs/ext4/namei.c                                    |  73 ++-
 fs/ext4/xattr.c                                    |   6 +
 fs/f2fs/checkpoint.c                               |  10 +-
 fs/f2fs/data.c                                     |  10 +-
 fs/f2fs/f2fs.h                                     |  19 +-
 fs/f2fs/file.c                                     |  47 +-
 fs/f2fs/gc.c                                       |  13 +-
 fs/f2fs/inline.c                                   |   8 +-
 fs/f2fs/inode.c                                    |  14 +-
 fs/f2fs/segment.c                                  |   6 +-
 fs/f2fs/segment.h                                  |   3 +-
 fs/fuse/inode.c                                    |  24 +-
 fs/hfs/inode.c                                     |   3 +
 fs/hfsplus/bfind.c                                 |  15 +-
 fs/hfsplus/extents.c                               |   9 +-
 fs/hfsplus/hfsplus_fs.h                            |  21 +
 fs/hostfs/hostfs.h                                 |   7 +-
 fs/hostfs/hostfs_kern.c                            |  10 +-
 fs/hostfs/hostfs_user.c                            |   7 +-
 fs/jbd2/commit.c                                   |   2 +-
 fs/jbd2/journal.c                                  |  56 +-
 fs/jbd2/transaction.c                              |  45 +-
 fs/jfs/jfs_imap.c                                  |   5 +-
 fs/netfs/write_issue.c                             |   1 +
 fs/nfs/file.c                                      |   5 +-
 fs/nfs/nfs4client.c                                |   6 +-
 fs/nfs/nfs4proc.c                                  |   2 +-
 fs/nfs/nfstrace.h                                  |  36 +-
 fs/nfs/read.c                                      |   8 +-
 fs/nfs/write.c                                     |  10 +-
 fs/nfsd/Kconfig                                    |   2 +-
 fs/nfsd/filecache.c                                |   2 +-
 fs/nfsd/nfs4proc.c                                 |   5 +-
 fs/nfsd/nfs4recover.c                              |   4 +-
 fs/nilfs2/btnode.c                                 |  25 +-
 fs/nilfs2/btree.c                                  |   4 +-
 fs/nilfs2/segment.c                                |   2 +-
 fs/ntfs3/attrib.c                                  |  30 +-
 fs/ntfs3/bitmap.c                                  |   2 +-
 fs/ntfs3/dir.c                                     |   3 +-
 fs/ntfs3/file.c                                    |   5 +-
 fs/ntfs3/frecord.c                                 |   2 +-
 fs/ntfs3/fslog.c                                   |   5 +-
 fs/ntfs3/index.c                                   |   4 +-
 fs/ntfs3/inode.c                                   |  13 +-
 fs/ntfs3/ntfs.h                                    |  12 +-
 fs/ntfs3/super.c                                   |   4 +-
 fs/proc/proc_sysctl.c                              |   6 +-
 fs/proc/task_mmu.c                                 |  30 +-
 fs/smb/client/cifsfs.c                             |   8 +-
 fs/smb/client/connect.c                            |  24 +-
 fs/super.c                                         |  11 +
 fs/udf/balloc.c                                    |  15 +-
 fs/udf/file.c                                      |   2 +
 fs/udf/inode.c                                     |  11 +-
 fs/udf/namei.c                                     |   2 -
 fs/udf/super.c                                     |   3 +-
 include/asm-generic/vmlinux.lds.h                  |   2 +-
 include/drm/drm_mipi_dsi.h                         |  46 +-
 include/linux/alloc_tag.h                          |   2 +-
 include/linux/bpf_verifier.h                       |   2 +-
 include/linux/firewire.h                           |   5 +-
 include/linux/huge_mm.h                            |  12 +-
 include/linux/hugetlb.h                            |   1 +
 include/linux/interrupt.h                          |   2 +-
 include/linux/jbd2.h                               |  12 +-
 include/linux/lsm_hook_defs.h                      |   1 +
 include/linux/mlx5/qp.h                            |   9 +-
 include/linux/mm.h                                 |  16 +-
 include/linux/objagg.h                             |   1 -
 include/linux/perf_event.h                         |   1 +
 include/linux/pgalloc_tag.h                        |   7 +-
 include/linux/preempt.h                            |  41 ++
 include/linux/sbitmap.h                            |   5 +
 include/linux/sched.h                              |  41 --
 include/linux/screen_info.h                        |  10 +
 include/linux/spinlock.h                           |  14 +-
 include/linux/task_work.h                          |   3 +-
 include/linux/virtio_net.h                         |  11 +
 include/net/bluetooth/hci_core.h                   |   4 -
 include/net/ip6_route.h                            |  22 +-
 include/net/ip_fib.h                               |   1 +
 include/net/mana/mana.h                            |   2 +
 include/net/tcp.h                                  |   1 +
 include/net/xfrm.h                                 |  36 +-
 include/sound/tas2781-dsp.h                        |  11 +-
 include/trace/events/rpcgss.h                      |   2 +-
 include/uapi/drm/xe_drm.h                          |   8 +-
 include/uapi/linux/if_xdp.h                        |   4 +
 include/uapi/linux/netfilter/nf_tables.h           |   2 +-
 include/uapi/linux/zorro_ids.h                     |   3 +
 include/ufs/ufshcd.h                               |   6 +
 io_uring/io-wq.c                                   |  10 +-
 io_uring/io_uring.c                                |   5 +-
 io_uring/napi.c                                    |   2 +
 io_uring/opdef.c                                   |   8 +
 io_uring/opdef.h                                   |   4 +-
 io_uring/register.c                                |   2 +-
 io_uring/timeout.c                                 |   2 +-
 io_uring/uring_cmd.c                               |   2 +-
 kernel/bpf/btf.c                                   |  10 +-
 kernel/bpf/helpers.c                               |   2 +-
 kernel/bpf/verifier.c                              |   5 +-
 kernel/cgroup/cpuset.c                             |  76 ++-
 kernel/debug/kdb/kdb_io.c                          |   6 +-
 kernel/dma/mapping.c                               |   2 +-
 kernel/events/core.c                               |  77 ++-
 kernel/events/internal.h                           |   2 +-
 kernel/events/ring_buffer.c                        |   4 +-
 kernel/irq/irqdomain.c                             |   7 +-
 kernel/irq/manage.c                                |   2 +-
 kernel/jump_label.c                                |  45 +-
 kernel/locking/rwsem.c                             |   6 +-
 kernel/rcu/tasks.h                                 |  10 +
 kernel/sched/core.c                                |  37 +-
 kernel/sched/fair.c                                |   7 +-
 kernel/sched/sched.h                               |   2 +-
 kernel/signal.c                                    |   8 +
 kernel/task_work.c                                 |  34 +-
 kernel/time/tick-broadcast.c                       |  23 +
 kernel/time/timer_migration.c                      |  33 +-
 kernel/time/timer_migration.h                      |  12 +-
 kernel/trace/pid_list.c                            |   4 +-
 kernel/watchdog_perf.c                             |  11 +-
 kernel/workqueue.c                                 |   6 +-
 lib/decompress_bunzip2.c                           |   3 +-
 lib/kobject_uevent.c                               |  17 +-
 lib/objagg.c                                       |  18 +-
 lib/sbitmap.c                                      |  36 +-
 mm/huge_memory.c                                   |  14 +-
 mm/hugetlb.c                                       |  49 +-
 mm/memory.c                                        |   2 +-
 mm/mempolicy.c                                     |  18 +-
 mm/mmap_lock.c                                     | 175 +----
 mm/page_alloc.c                                    |  35 +-
 mm/vmscan.c                                        |  83 ++-
 net/bluetooth/hci_core.c                           |  27 +-
 net/bluetooth/hci_event.c                          |   2 +
 net/bluetooth/hci_sync.c                           |   2 -
 net/bridge/br_forward.c                            |   4 +-
 net/core/filter.c                                  |  15 +-
 net/core/flow_dissector.c                          |   2 +-
 net/core/page_pool.c                               |   2 +-
 net/core/xdp.c                                     |   4 +-
 net/ethtool/pse-pd.c                               |   8 +-
 net/ipv4/esp4.c                                    |   3 +-
 net/ipv4/esp4_offload.c                            |   7 +
 net/ipv4/fib_semantics.c                           |  13 +-
 net/ipv4/fib_trie.c                                |   1 +
 net/ipv4/nexthop.c                                 |   7 +-
 net/ipv4/route.c                                   |  18 +-
 net/ipv4/tcp.c                                     |   8 +-
 net/ipv4/tcp_input.c                               |  32 +-
 net/ipv4/tcp_ipv4.c                                |  11 +-
 net/ipv4/tcp_minisocks.c                           |  15 +-
 net/ipv4/tcp_timer.c                               |   6 +-
 net/ipv6/addrconf.c                                |   3 +-
 net/ipv6/esp6.c                                    |   3 +-
 net/ipv6/esp6_offload.c                            |   7 +
 net/ipv6/ip6_output.c                              |   1 +
 net/ipv6/route.c                                   |   2 +-
 net/ipv6/tcp_ipv6.c                                |  10 +-
 net/mac80211/chan.c                                |  11 +
 net/mac80211/main.c                                |   2 +-
 net/mac80211/mlme.c                                |  15 +-
 net/mac80211/sta_info.h                            |   6 +
 net/mac80211/tx.c                                  |   6 +-
 net/netfilter/ipvs/ip_vs_ctl.c                     |  10 +-
 net/netfilter/ipvs/ip_vs_proto_sctp.c              |   4 +-
 net/netfilter/nf_conntrack_netlink.c               |   3 +-
 net/netfilter/nft_set_pipapo.c                     |   4 +-
 net/netfilter/nft_set_pipapo.h                     |  21 +
 net/netfilter/nft_set_pipapo_avx2.c                |  22 +-
 net/packet/af_packet.c                             |  86 ++-
 net/smc/smc_core.c                                 |   5 +-
 net/sunrpc/auth_gss/gss_krb5_keys.c                |   2 +-
 net/sunrpc/clnt.c                                  |   3 +-
 net/sunrpc/xprtrdma/frwr_ops.c                     |   3 +-
 net/sunrpc/xprtrdma/verbs.c                        |  16 +-
 net/tipc/udp_media.c                               |   5 +-
 net/unix/af_unix.c                                 |  41 +-
 net/unix/unix_bpf.c                                |   3 +
 net/wireless/nl80211.c                             |   3 +
 net/wireless/util.c                                |   8 +-
 net/xdp/xdp_umem.c                                 |   9 +-
 net/xfrm/xfrm_input.c                              |   8 +-
 net/xfrm/xfrm_policy.c                             |   5 +-
 net/xfrm/xfrm_state.c                              |  65 +-
 net/xfrm/xfrm_user.c                               |   1 -
 scripts/Kconfig.include                            |   3 +-
 scripts/Makefile.lib                               |   6 +-
 scripts/gcc-x86_32-has-stack-protector.sh          |   2 +-
 scripts/gcc-x86_64-has-stack-protector.sh          |   2 +-
 scripts/syscalltbl.sh                              |  18 +-
 security/apparmor/lsm.c                            |   7 +
 security/apparmor/policy.c                         |   2 +-
 security/apparmor/policy_unpack.c                  |  43 +-
 security/keys/keyctl.c                             |   2 +-
 security/landlock/cred.c                           |  11 +-
 security/security.c                                |  70 +-
 security/selinux/hooks.c                           |  38 +-
 security/smack/smack_lsm.c                         |  34 +-
 sound/core/ump.c                                   |  13 +
 sound/firewire/amdtp-stream.c                      |   3 +-
 sound/pci/hda/patch_realtek.c                      |   6 +-
 sound/soc/amd/acp-es8336.c                         |   4 +-
 sound/soc/amd/yc/acp6x-mach.c                      |   7 +
 sound/soc/codecs/cs35l56-shared.c                  |   2 +-
 sound/soc/codecs/max98088.c                        |  10 +-
 sound/soc/codecs/pcm6240.c                         |   6 +-
 sound/soc/codecs/tas2781-fmwlib.c                  |  20 +-
 sound/soc/codecs/tas2781-i2c.c                     |  39 +-
 sound/soc/codecs/wcd939x.c                         | 113 ++--
 sound/soc/fsl/fsl_qmc_audio.c                      |   2 +
 sound/soc/intel/common/soc-acpi-intel-ssp-common.c |   9 +
 sound/soc/intel/common/soc-intel-quirks.h          |   2 +-
 sound/soc/qcom/lpass-cpu.c                         |   4 +
 sound/soc/sof/amd/pci-vangogh.c                    |   1 -
 sound/soc/sof/imx/imx8m.c                          |   2 +-
 sound/soc/sof/intel/hda-loader.c                   |  18 +-
 sound/soc/sof/intel/hda.c                          |  17 +-
 sound/soc/sof/ipc4-topology.c                      |  46 +-
 sound/usb/mixer.c                                  |   7 +
 sound/usb/quirks.c                                 |   4 +
 tools/bpf/bpftool/common.c                         |   2 +-
 tools/bpf/bpftool/prog.c                           |   4 +
 tools/bpf/resolve_btfids/main.c                    |   2 +-
 tools/lib/bpf/btf.c                                |   2 +-
 tools/lib/bpf/btf_dump.c                           |   8 +-
 tools/lib/bpf/libbpf_internal.h                    |  10 +-
 tools/lib/bpf/linker.c                             |  11 +-
 tools/memory-model/lock.cat                        |  20 +-
 tools/objtool/noreturns.h                          |   4 +
 tools/perf/arch/powerpc/util/skip-callchain-idx.c  |   8 +-
 tools/perf/arch/x86/util/intel-pt.c                |  15 +-
 tools/perf/tests/shell/test_arm_callgraph_fp.sh    |  27 +-
 tools/perf/tests/workloads/leafloop.c              |  20 +-
 tools/perf/ui/gtk/annotate.c                       |   5 +-
 tools/perf/util/cs-etm.c                           |  10 +-
 tools/perf/util/disasm.c                           |  10 +-
 tools/perf/util/dso.c                              |  14 +-
 tools/perf/util/dso.h                              |  19 +
 tools/perf/util/maps.c                             |   9 +-
 tools/perf/util/pmus.c                             |   5 +-
 tools/perf/util/sort.c                             |   2 +-
 tools/perf/util/srcline.c                          |  12 +-
 tools/perf/util/stat-display.c                     |   3 +
 tools/perf/util/stat-shadow.c                      |   7 +
 tools/perf/util/symbol.c                           |  18 +-
 tools/perf/util/unwind-libdw.c                     |  12 +-
 tools/perf/util/unwind-libunwind-local.c           |  18 +-
 tools/testing/selftests/bpf/bpf_kfuncs.h           |   2 +-
 .../testing/selftests/bpf/prog_tests/bpf_tcp_ca.c  |  16 +-
 .../testing/selftests/bpf/prog_tests/fexit_sleep.c |   8 +-
 tools/testing/selftests/bpf/prog_tests/sk_lookup.c |   2 +-
 .../selftests/bpf/prog_tests/xdp_adjust_tail.c     |   2 +-
 .../bpf/progs/btf_dump_test_case_multidim.c        |   4 +-
 .../bpf/progs/btf_dump_test_case_syntax.c          |   4 +-
 .../bpf/progs/kprobe_multi_session_cookie.c        |   2 +-
 tools/testing/selftests/bpf/test_sockmap.c         |   9 +-
 tools/testing/selftests/damon/access_memory.c      |   2 +-
 .../drivers/net/mlxsw/spectrum-2/tc_flower.sh      |  55 +-
 tools/testing/selftests/iommu/iommufd.c            |  76 ++-
 tools/testing/selftests/iommu/iommufd_utils.h      |   6 +-
 tools/testing/selftests/landlock/base_test.c       |  74 +++
 tools/testing/selftests/landlock/config            |   1 +
 tools/testing/selftests/net/fib_tests.sh           |  24 +-
 .../net/forwarding/bridge_fdb_learning_limit.sh    |  18 +
 .../selftests/net/forwarding/devlink_lib.sh        |   2 +
 tools/testing/selftests/nolibc/nolibc-test.c       |   2 +-
 tools/testing/selftests/resctrl/resctrl_val.c      |  54 +-
 .../selftests/sigaltstack/current_stack_pointer.h  |   2 +-
 858 files changed, 7467 insertions(+), 4533 deletions(-)
Tested-by on the v1 series
#1 lore raw

Hi!

Quoted 4 lines

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

CIP testing did not find any problems here:

https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-6.10.y

Best regards,
Pavel

Signature · 2 lines
DENX Software Engineering GmbH,        Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Tested-by on the v1 series
#2 lore raw
In reply to Greg Kroah-Hartman
Quoted 4 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Tested-by on the v1 series
#3 lore raw
In reply to Greg Kroah-Hartman

Just compiled and working on my Dell Latitude 7390 laptop with a Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz with EndeavourOS July 2024 build

Den ons 31 juli 2024 kl 11:05 skrev Greg Kroah-Hartman <[email protected]>:

Quoted 3,319 lines

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

        https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.10.3-rc3.gz

or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.10.y
and the diffstat can be found below.

thanks,

greg k-h

-------------
Pseudo-Shortlog of commits:

Greg Kroah-Hartman <[email protected]>

    Linux 6.10.3-rc3

Daniel Borkmann <[email protected]>
selftests/bpf: DENYLIST.aarch64: Skip fexit_sleep again

Paul Moore <[email protected]>
selinux,smack: remove the capability checks in the removexattr hooks

Esben Haabendal <[email protected]>
powerpc/configs: Update defconfig with now user-visible CONFIG_FSL_IFC

James Clark <[email protected]>
perf dso: Fix build when libunwind is enabled

Karthikeyan Periyasamy <[email protected]>
wifi: ath12k: fix mbssid max interface advertisement

Seth Forshee (DigitalOcean) <[email protected]>
fs: don't allow non-init s_user_ns for filesystems without FS_USERNS_MOUNT

Jarkko Nikula <[email protected]>
i3c: mipi-i3c-hci: Fix number of DAT/DCT entries for HCI versions < 1.1

Leon Romanovsky <[email protected]>
nvme-pci: add missing condition check for existence of mapped data

Georgia Garcia <[email protected]>
apparmor: unpack transition table if dfa is not present

Ming Lei <[email protected]>
ublk: fix UBLK_CMD_DEL_DEV_ASYNC handling

Pavel Begunkov <[email protected]>
io_uring: fix io_match_task must_hold

Rafael J. Wysocki <[email protected]>
thermal: core: Back off when polling thermal zones on errors

Rafael J. Wysocki <[email protected]>
thermal: trip: Split thermal_zone_device_set_mode()

Artem Chernyshev <[email protected]>
iommu: sprd: Avoid NULL deref in sprd_iommu_hw_en

Thomas Richter <[email protected]>
s390/cpum_cf: Fix endless loop in CF_DIAG event stop

Vasily Gorbik <[email protected]>
s390/setup: Fix __pa/__va for modules under non-GPL licenses

Gerd Bayer <[email protected]>
s390/pci: Allow allocation of more than 1 MSI interrupt

Gerd Bayer <[email protected]>
s390/pci: Refactor arch_setup_msi_irqs()

ethanwu <[email protected]>
ceph: fix incorrect kmalloc size of pagevec mempool

Anna-Maria Behnsen <[email protected]>

    timers/migration: Do not rely always on group->parent

Dan Carpenter <[email protected]>
ASoC: TAS2781: Fix tasdev_load_calibrated_data()

Pierre-Louis Bossart <[email protected]>
ASoC: Intel: use soc_intel_is_byt_cr() only when IOSF_MBI is reachable

Michal Wajdeczko <[email protected]>
drm/xe/pf: Limit fair VF LMEM provisioning

Ashutosh Dixit <[email protected]>
drm/xe/exec: Fix minor bug related to xe_sync_entry_cleanup

Conor Dooley <[email protected]>
spi: spidev: add correct compatible for Rohm BH2228FV

Venkata Prasad Potturu <[email protected]>
ASoC: sof: amd: fix for firmware reload failure in Vangogh platform

Curtis Malainey <[email protected]>
ASoC: Intel: Fix RT5650 SSP lookup

Pierre-Louis Bossart <[email protected]>
ASOC: SOF: Intel: hda-loader: only wait for HDaudio IOC for IPC4 devices

Bart Van Assche <[email protected]>
nvme-pci: Fix the instructions for disabling power management

Steve Wilkins <[email protected]>
spi: microchip-core: ensure TX and RX FIFOs are empty at start of a transfer

Steve Wilkins <[email protected]>
spi: microchip-core: fix init function not setting the master and motorola modes

Steve Wilkins <[email protected]>
spi: microchip-core: only disable SPI controller when register value change requires it

Steve Wilkins <[email protected]>
spi: microchip-core: defer asserting chip select until just before write to TX FIFO

Naga Sureshkumar Relli <[email protected]>
spi: microchip-core: fix the issues in the isr

Daniel Baluta <[email protected]>
ASoC: SOF: imx8m: Fix DSP control regmap retrieval

Markus Elfring <[email protected]>
auxdisplay: ht16k33: Drop reference after LED registration

Al Viro <[email protected]>
lirc: rc_dev_get_from_fd(): fix file leak

Al Viro <[email protected]>
powerpc: fix a file leak in kvm_vcpu_ioctl_enable_cap()

Xiao Liang <[email protected]>
apparmor: Fix null pointer deref when receiving skb during sock creation

Dan Carpenter <[email protected]>
mISDN: Fix a use after free in hfcmulti_tx()

Stanislav Fomichev <[email protected]>
xsk: Require XDP_UMEM_TX_METADATA_LEN to actuate tx_metadata_len

Fred Li <[email protected]>
bpf: Fix a segment issue when downgrading gso_size

Breno Leitao <[email protected]>
net: mediatek: Fix potential NULL pointer dereference in dummy net_device handling

Petr Machata <[email protected]>
net: nexthop: Initialize all fields in dumped nexthops

Simon Horman <[email protected]>
net: stmmac: Correct byte order of perfect_match

Hangbin Liu <[email protected]>
selftests: forwarding: skip if kernel not support setting bridge fdb learning limit

Shigeru Yoshida <[email protected]>
tipc: Return non-zero value from tipc_udp_addr2str() on error

David Howells <[email protected]>
netfs: Fix writeback that needs to go to both server and cache

Florian Westphal <[email protected]>
netfilter: nft_set_pipapo_avx2: disable softinterrupts

Wojciech Drewek <[email protected]>
ice: Fix recipe read procedure

Johannes Berg <[email protected]>
net: bonding: correctly annotate RCU in bond_should_notify_peers()

Ido Schimmel <[email protected]>
ipv4: Fix incorrect source address in Record Route option

Gregory CLEMENT <[email protected]>
MIPS: SMP-CPS: Fix address for GCR_ACCESS register for CM3 and later

Liwei Song <[email protected]>
tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids

Hou Tao <[email protected]>
bpf, events: Use prog to emit ksymbol event for main program

Lance Richardson <[email protected]>
dma: fix call order in dmam_free_coherent

Michal Luczaj <[email protected]>
af_unix: Disable MSG_OOB handling for sockets in sockmap/sockhash

Andrii Nakryiko <[email protected]>
libbpf: Fix no-args func prototype BTF dumping syntax

Puranjay Mohan <[email protected]>
selftests/bpf: fexit_sleep: Fix stack allocation for arm64

Masahiro Yamada <[email protected]>
kbuild: avoid build error when single DTB is turned into composite DTB

Chao Yu <[email protected]>
f2fs: fix to update user block counts in block_operations()

Daejun Park <[email protected]>
f2fs: fix null reference error when checking end of zone

Claudiu Beznea <[email protected]>
watchdog: rzg2l_wdt: Check return status of pm_runtime_put()

Claudiu Beznea <[email protected]>
watchdog: rzg2l_wdt: Use pm_runtime_resume_and_get()

Sheng Yong <[email protected]>
f2fs: fix start segno of large section

Johannes Berg <[email protected]>
um: time-travel: fix signal blocking race/hang

David Gow <[email protected]>
arch: um: rust: Use the generated target.json again

Johannes Berg <[email protected]>
um: time-travel: fix time-travel-start option

Sean Anderson <[email protected]>
phy: zynqmp: Enable reference clock correctly

Ma Ke <[email protected]>
phy: cadence-torrent: Check return value on register read

Cristian Ciocaltea <[email protected]>
phy: phy-rockchip-samsung-hdptx: Select CONFIG_MFD_SYSCON

Vignesh Raghavendra <[email protected]>
dmaengine: ti: k3-udma: Fix BCHAN count with UHC and HC channels

Jeongjun Park <[email protected]>
jfs: Fix array-index-out-of-bounds in diFree

Douglas Anderson <[email protected]>
kdb: Use the passed prompt in kdb_position_cursor()

Arnd Bergmann <[email protected]>
kdb: address -Wformat-security warnings

Dmitry Baryshkov <[email protected]>
phy: qcom: qmp-pcie: restore compatibility with existing DTs

Chao Yu <[email protected]>
f2fs: fix to truncate preallocated blocks in f2fs_file_open()

Linus Torvalds <[email protected]>
minmax: scsi: fix mis-use of 'clamp()' in sr.c

WangYuli <[email protected]>

    Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x13d3:0x3591

Hilda Wu <[email protected]>
Bluetooth: btusb: Add RTL8852BE device 0489:e125 to device tables

Ilya Dryomov <[email protected]>
rbd: don't assume RBD_LOCK_STATE_LOCKED for exclusive mappings

Ilya Dryomov <[email protected]>
rbd: rename RBD_LOCK_STATE_RELEASING and releasing_wait

Dragan Simic <[email protected]>
drm/panfrost: Mark simple_ondemand governor as softdep

Lucas Stach <[email protected]>
drm/etnaviv: don't block scheduler when GPU is still active

Jiaxun Yang <[email protected]>
MIPS: Loongson64: Test register availability before use

Jiaxun Yang <[email protected]>
MIPS: Loongson64: reset: Prioritise firmware service

Jiaxun Yang <[email protected]>
MIPS: Loongson64: Remove memory node for builtin-dtb

Jiaxun Yang <[email protected]>
MIPS: Loongson64: env: Hook up Loongsson-2K

Jiaxun Yang <[email protected]>
MIPS: dts: loongson: Fix GMAC phy node

Jiaxun Yang <[email protected]>
MIPS: ip30: ip30-console: Add missing include

Jiaxun Yang <[email protected]>
MIPS: dts: loongson: Add ISA node

Aleksandr Mishin <[email protected]>
remoteproc: imx_rproc: Fix refcount mistake in imx_rproc_addr_init

Aleksandr Mishin <[email protected]>
remoteproc: imx_rproc: Skip over memory region when node value is NULL

Gwenael Treuveur <[email protected]>
remoteproc: stm32_rproc: Fix mailbox interrupts queuing

Ilya Dryomov <[email protected]>
rbd: don't assume rbd_is_lock_owner() for exclusive mappings

Eric Biggers <[email protected]>
dm-verity: fix dm_is_verity_target() when dm-verity is builtin

Michael Ellerman <[email protected]>
selftests/sigaltstack: Fix ppc64 GCC build

Kim Phillips <[email protected]>
crypto: ccp - Fix null pointer dereference in __sev_snp_shutdown_locked

Bart Van Assche <[email protected]>
RDMA/iwcm: Fix a use-after-free related to destroying CM IDs

Jiaxun Yang <[email protected]>
platform: mips: cpu_hwmon: Disable driver on unsupported hardware

Peter Ujfalusi <[email protected]>
ASoC: SOF: ipc4-topology: Use correct queue_id for requesting input pin format

Krzysztof Kozlowski <[email protected]>
ASoC: codecs: wcd939x: Fix typec mux and switch leak during device removal

Manivannan Sadhasivam <[email protected]>
bus: mhi: ep: Do not allocate memory for MHI objects from DMA zone

Thomas Gleixner <[email protected]>
watchdog/perf: properly initialize the turbo mode timestamp and rearm counter

Joy Chakraborty <[email protected]>

    rtc: abx80x: Fix return value of nvmem callback on read

Joy Chakraborty <[email protected]>
rtc: isl1208: Fix return value of nvmem callbacks

Imre Deak <[email protected]>
drm/i915/dp: Don't switch the LTTPR mode on an active link

Imre Deak <[email protected]>

    drm/i915/dp: Reset intel_dp->link_trained before retraining the link

Ma Ke <[email protected]>
drm/amd/amdgpu: Fix uninitialized variable warnings

Tim Huang <[email protected]>
drm/amdgpu: add missed harvest check for VCN IP v4/v5

ZhenGuo Yin <[email protected]>
drm/amdgpu: reset vm state machine after gpu reset(vram lost)

Wayne Lin <[email protected]>
drm/dp_mst: Fix all mstb marked as not probed after suspend/resume

Thomas Zimmermann <[email protected]>
drm/udl: Remove DRM_CONNECTOR_POLL_HPD

Alex Deucher <[email protected]>
drm/amdgpu/sdma5.2: Update wptr registers as well as doorbell

Nitin Gote <[email protected]>
drm/i915/gt: Do not consider preemption during execlists_dequeue for gen8

Adrian Hunter <[email protected]>
perf/x86/intel/pt: Fix a topa_entry base address calculation

Marco Cavenati <[email protected]>
perf/x86/intel/pt: Fix topa_entry base length

Kan Liang <[email protected]>
perf/x86/intel/ds: Fix non 0 retire latency on Raptorlake

Kan Liang <[email protected]>
perf/x86/intel/uncore: Fix the bits of the CHA extended umask for SPR

Kan Liang <[email protected]>
perf stat: Fix the hard-coded metrics calculation on the hybrid

Frederic Weisbecker <[email protected]>
perf: Fix event leak upon exec and file release

Frederic Weisbecker <[email protected]>
perf: Fix event leak upon exit

Nilesh Javali <[email protected]>
scsi: qla2xxx: validate nvme_local_port correctly

Shreyas Deodhar <[email protected]>
scsi: qla2xxx: Complete command early within lock

Quinn Tran <[email protected]>
scsi: qla2xxx: Fix flash read failure

Quinn Tran <[email protected]>
scsi: qla2xxx: Reduce fabric scan duplicate code

Quinn Tran <[email protected]>
scsi: qla2xxx: Use QP lock to search for bsg

Shreyas Deodhar <[email protected]>
scsi: qla2xxx: Fix for possible memory corruption

Quinn Tran <[email protected]>
scsi: qla2xxx: Unable to act on RSCN for port online

Manish Rangankar <[email protected]>
scsi: qla2xxx: During vport delete send async logout explicitly

Justin Tee <[email protected]>
scsi: lpfc: Allow DEVICE_RECOVERY mode after RSCN receipt if in PRLI_ISSUE state

Joy Chakraborty <[email protected]>
rtc: cmos: Fix return value of nvmem callbacks

Tvrtko Ursulin <[email protected]>
mm/numa_balancing: teach mpol_to_str about the balancing mode

Shenwei Wang <[email protected]>
irqchip/imx-irqsteer: Handle runtime power management correctly

Mateusz Jończyk <[email protected]>
md/raid1: set max_sectors during early return from choose_slow_rdev()

Herve Codina <[email protected]>
irqdomain: Fixed unbalanced fwnode get and put

Zijun Hu <[email protected]>
devres: Fix memory leakage caused by driver API devm_free_percpu()

Zijun Hu <[email protected]>
devres: Fix devm_krealloc() wasting memory

Yijie Yang <[email protected]>
dt-bindings: phy: qcom,qmp-usb: fix spelling error

Ahmed Zaki <[email protected]>
ice: Add a per-VF limit on number of FDIR filters

Bailey Forrest <[email protected]>
gve: Fix an edge case for TSO skb validity check

Zijun Hu <[email protected]>
kobject_uevent: Fix OOB access within zap_modalias_env()

Will Deacon <[email protected]>
arm64: mm: Fix lockless walks with static and dynamic page-table folding

Takashi Iwai <[email protected]>
ASoC: amd: yc: Support mic on Lenovo Thinkpad E16 Gen 2

Peter Ujfalusi <[email protected]>
ASoC: SOF: ipc4-topology: Preserve the DMA Link ID for ChainDMA on unprepare

Peter Ujfalusi <[email protected]>
ASoC: SOF: ipc4-topology: Only handle dai_config with HW_PARAMS for ChainDMA

Suren Baghdasaryan <[email protected]>
alloc_tag: outline and export free_reserved_page()

Nathan Chancellor <[email protected]>
kbuild: Fix '-S -c' in x86 stack protector scripts

Ross Lagerwall <[email protected]>
decompress_bunzip2: fix rare decompression failure

Ram Tummala <[email protected]>
mm: fix old/young bit handling in the faulting path

Yang Yang <[email protected]>
block: fix deadlock between sd_remove & sd_release

Krzysztof Kozlowski <[email protected]>
clk: samsung: fix getting Exynos4 fin_pll rate from external clocks

Fedor Pchelkin <[email protected]>
ubi: eba: properly rollback inside self_check_eba

Bastien Curutchet <[email protected]>
clk: davinci: da8xx-cfgchip: Initialize clk_init_data before use

Ryusuke Konishi <[email protected]>
nilfs2: handle inconsistent state in nilfs_btnode_create_block()

Joy Zou <[email protected]>
dmaengine: fsl-edma: change the memory access from local into remote mode in i.MX 8QM

Sunmin Jeong <[email protected]>
f2fs: use meta inode for GC of COW file

Sunmin Jeong <[email protected]>
f2fs: use meta inode for GC of atomic file

Chao Yu <[email protected]>
f2fs: fix return value of f2fs_convert_inline_inode()

Chao Yu <[email protected]>
f2fs: fix to don't dirty inode for readonly filesystem

Chao Yu <[email protected]>
f2fs: fix to force buffered IO on inline_data inode

Herve Codina <[email protected]>
ASoC: fsl: fsl_qmc_audio: Check devm_kasprintf() returned value

Saurav Kashyap <[email protected]>
scsi: qla2xxx: Return ENOBUFS if sg_cnt is more than one for ELS cmds

Huacai Chen <[email protected]>

    fs/ntfs3: Update log->page_{mask,bits} if log->page_size changed

Li Zhijian <[email protected]>

    mm/page_alloc: fix pcp->count race between drain_pages_zone() vs __rmqueue_pcplist()

Gao Xiang <[email protected]>
erofs: fix race in z_erofs_get_gbuf()

Qiang Ma <[email protected]>
efi/libstub: Zero initialize heap allocated struct screen_info

Johannes Berg <[email protected]>
hostfs: fix dev_t handling

tuhaowen <[email protected]>
dev/parport: fix the array out-of-bounds risk

Reka Norman <[email protected]>
xhci: Apply XHCI_RESET_TO_DEFAULT quirk to TGL

Carlos Llamas <[email protected]>
binder: fix hang of unregistered readers

Huacai Chen <[email protected]>
PCI: loongson: Enable MSI in LS7A Root Complex

Manivannan Sadhasivam <[email protected]>
PCI: rockchip: Use GPIOD_OUT_LOW flag while requesting ep_gpio

Niklas Cassel <[email protected]>
PCI: dw-rockchip: Fix initial PERST# GPIO value

Wei Liu <[email protected]>
PCI: hv: Return zero, not garbage, when reading PCI_INTERRUPT_PIN

Lukas Wunner <[email protected]>
PCI/DPC: Fix use-after-free on concurrent DPC and hot-removal

John David Anglin <[email protected]>
parisc: Fix warning at drivers/pci/msi/msi.h:121

Ilpo Järvinen <[email protected]>
hwrng: amd - Convert PCIBIOS_* return codes to errnos

Thomas Huth <[email protected]>
drm/fbdev-dma: Fix framebuffer mode for big endian devices

Thomas Zimmermann <[email protected]>
fbdev: vesafb: Detect VGA compatibility from screen info's VESA attributes

Alan Stern <[email protected]>
tools/memory-model: Fix bug in lock.cat

wangdicheng <[email protected]>
ALSA: usb-audio: Add a quirk for Sonix HD USB Camera

Takashi Iwai <[email protected]>
ALSA: usb-audio: Move HD Webcam quirk to the right place

wangdicheng <[email protected]>
ALSA: usb-audio: Fix microphone sound on HD webcam.

Takashi Iwai <[email protected]>
ALSA: ump: Force 1 Group for MIDI1 FBs

Takashi Iwai <[email protected]>
ALSA: ump: Don't update FB name for static blocks

Takashi Sakamoto <[email protected]>
ALSA: firewire-lib: fix wrong value as length of header for CIP_NO_HEADER case

Luke D. Jones <[email protected]>
ALSA: hda/realtek: cs35l41: Fixup remaining asus strix models

Sean Christopherson <[email protected]>
KVM: nVMX: Fold requested virtual interrupt check into has_nested_events()

Sean Christopherson <[email protected]>
KVM: nVMX: Check for pending posted interrupts when looking for nested events

Sean Christopherson <[email protected]>
KVM: nVMX: Request immediate exit iff pending nested event needs injection

Sean Christopherson <[email protected]>
KVM: nVMX: Add a helper to get highest pending from Posted Interrupt vector

Sean Christopherson <[email protected]>
KVM: VMX: Split out the non-virtualization part of vmx_interrupt_blocked()

Gautam Menghani <[email protected]>
KVM: PPC: Book3S HV nestedv2: Add DPDES support in helper library for Guest state buffer

Gautam Menghani <[email protected]>
KVM: PPC: Book3S HV nestedv2: Fix doorbell emulation

Jason Chen <[email protected]>
remoteproc: mediatek: Increase MT8188/MT8195 SCP core0 DRAM size

Wentong Wu <[email protected]>
media: ivsc: csi: don't count privacy on as error

Ricardo Ribalda <[email protected]>
media: uvcvideo: Fix integer overflow calculating timestamp

Jan Kara <[email protected]>
jbd2: avoid infinite transaction commit loop

Jan Kara <[email protected]>
jbd2: precompute number of transaction descriptor blocks

Jan Kara <[email protected]>
jbd2: make jbd2_journal_get_max_txn_bufs() internal

Harshit Mogalapalli <[email protected]>
media: imx-pxp: Fix ERR_PTR dereference in pxp_probe()

Tommaso Merciai <[email protected]>
media: i2c: alvium: Move V4L2_CID_GAIN to V4L2_CID_ANALOG_GAIN

Wentong Wu <[email protected]>
media: ivsc: csi: add separate lock for v4l2 control handler

Javier Carrasco <[email protected]>
leds: mt6360: Fix memory leak in mt6360_init_isnk_properties()

Thomas Weißschuh <[email protected]>
leds: triggers: Flush pending brightness before activating trigger

Ofir Gal <[email protected]>
md/md-bitmap: fix writing non bitmap pages

Ilpo Järvinen <[email protected]>
leds: ss4200: Convert PCIBIOS_* return codes to errnos

Jay Buddhabhatti <[email protected]>
drivers: soc: xilinx: check return status of get_api_version()

Javier Carrasco <[email protected]>
cpufreq: qcom-nvmem: fix memory leaks in probe error paths

Bitterblue Smith <[email protected]>
wifi: rtw88: usb: Further limit the TX aggregation

Bitterblue Smith <[email protected]>
wifi: rtw88: usb: Fix disconnection after beacon loss

Po-Hao Huang <[email protected]>
wifi: rtw89: fix HW scan not aborting properly

Rafael Beims <[email protected]>
wifi: mwifiex: Fix interface type change

Rafael J. Wysocki <[email protected]>
genirq: Set IRQF_COND_ONESHOT in request_irq()

levi.yun <[email protected]>
trace/pid_list: Change gfp flags in pid_list_fill_irq()

Pavel Begunkov <[email protected]>
io_uring: don't allow netpolling with SETUP_IOPOLL

Pavel Begunkov <[email protected]>
io_uring: tighten task exit cancellations

Pavel Begunkov <[email protected]>
io_uring: fix lost getsockopt completions

Baokun Li <[email protected]>
ext4: make sure the first directory block is not a hole

Baokun Li <[email protected]>
ext4: check dot and dotdot of dx_root before making dir indexed

Ming Lei <[email protected]>
block: check bio alignment in blk_mq_submit_bio

Paolo Pisati <[email protected]>
m68k: amiga: Turn off Warp1260 interrupts during boot

Jan Kara <[email protected]>
udf: Avoid using corrupted block bitmap buffer

Frederic Weisbecker <[email protected]>
task_work: Introduce task_work_cancel() again

Frederic Weisbecker <[email protected]>
task_work: s/task_work_cancel()/task_work_cancel_func()/

Steve French <[email protected]>
cifs: mount with "unix" mount option for SMB1 incorrectly handled

Steve French <[email protected]>
cifs: fix reconnect with SMB1 UNIX Extensions

Steve French <[email protected]>
cifs: fix potential null pointer use in destroy_workqueue in init_cifs error path

Fedor Pchelkin <[email protected]>

    apparmor: use kvfree_sensitive to free data->data

Sung Joon Kim <[email protected]>
drm/amd/display: Check for NULL pointer

Shreyas Deodhar <[email protected]>
scsi: qla2xxx: Fix optrom version displayed in FDMI

Alex Deucher <[email protected]>
drm/amd/display: fix corruption with high refresh rates on DCN 3.0

Ma Ke <[email protected]>
drm/gma500: fix null pointer dereference in psb_intel_lvds_get_modes

Ma Ke <[email protected]>
drm/gma500: fix null pointer dereference in cdv_intel_lvds_get_modes

Pavel Begunkov <[email protected]>
io_uring/io-wq: limit retrying worker initialisation

Paul Moore <[email protected]>
lsm: fixup the inode xattr capability handling

Kory Maincent <[email protected]>
media: i2c: Kconfig: Fix missing firmware upload config select

Jan Kara <[email protected]>
ext2: Verify bitmap and itable block numbers before using them

Chao Yu <[email protected]>
hfs: fix to initialize fields of hfs_inode_info after hfs_alloc_inode()

Thomas Weißschuh <[email protected]>
sysctl: always initialize i_uid/i_gid

Igor Pylypiv <[email protected]>
ata: libata-scsi: Honor the D_SENSE bit for CK_COND=1 and no error

Igor Pylypiv <[email protected]>
ata: libata-scsi: Do not overwrite valid sense data when CK_COND=1

Dikshita Agarwal <[email protected]>
media: venus: fix use after free in vdec_close

Joe Hattori <[email protected]>
char: tpm: Fix possible memory leak in tpm_bios_measurements_open()

Vitor Soares <[email protected]>
tpm_tis_spi: add missing attpm20p SPI device ID entry

Thomas Weißschuh <[email protected]>
selftests/nolibc: fix printf format mismatch in expect_str_buf_eq()

Igor Pylypiv <[email protected]>
ata: libata-scsi: Fix offsets for the fixed format sense data

Damien Le Moal <[email protected]>
null_blk: Fix description of the fua parameter

Alain Volmat <[email protected]>
media: stm32: dcmipp: correct error handling in dcmipp_create_subdevs

Yu Kuai <[email protected]>
md/raid5: fix spares errors about rcu usage

Eric Sandeen <[email protected]>
fuse: verify {g,u}id mount options correctly

Tejun Heo <[email protected]>
sched/fair: set_load_weight() must also call reweight_task() for SCHED_IDLE tasks

Zong-Zhe Yang <[email protected]>
wifi: mac80211: chanctx emulation set CHANGE_CHANNEL when in_reconfig

Chuck Lever <[email protected]>
NFSD: Support write delegations in LAYOUTGET

Thomas Hellström <[email protected]>
drm/xe: Use write-back caching mode for system memory on DGFX

Nicolas Dichtel <[email protected]>
ipv6: take care of scope when choosing the src addr

Nicolas Dichtel <[email protected]>
ipv4: fix source address selection with route leak

Nicolas Dichtel <[email protected]>
ipv6: fix source address selection with route leak

Pavel Begunkov <[email protected]>
kernel: rerun task_work while freezing in get_signal()

Filipe Manana <[email protected]>
btrfs: fix extent map use-after-free when adding pages to compressed bio

Lai Jiangshan <[email protected]>
workqueue: Always queue work items to the newest PWQ for order workqueues

Chengen Du <[email protected]>
af_packet: Handle outgoing VLAN packets without hardware offloading

Breno Leitao <[email protected]>
net: netconsole: Disable target before netpoll cleanup

Yu Liao <[email protected]>
tick/broadcast: Make takeover of broadcast hrtimer reliable

Krzysztof Kozlowski <[email protected]>
dt-bindings: thermal: correct thermal zone node name limit

Krzysztof Kozlowski <[email protected]>
thermal/drivers/broadcom: Fix race between removal and clock disable

Sungjong Seo <[email protected]>
exfat: fix potential deadlock on __exfat_get_dentry_set

Takashi Sakamoto <[email protected]>
Revert "firewire: Annotate struct fw_iso_packet with __counted_by()"

Ard Biesheuvel <[email protected]>
x86/efistub: Revert to heap allocated boot_params for PE entrypoint

Ard Biesheuvel <[email protected]>
x86/efistub: Avoid returning EFI_SUCCESS on error

Yu Zhao <[email protected]>
mm/mglru: fix ineffective protection calculation

Yu Zhao <[email protected]>
mm/mglru: fix overshooting shrinker memory

Tetsuo Handa <[email protected]>
mm: mmap_lock: replace get_memcg_path_buf() with on-stack buffer

Yu Zhao <[email protected]>
mm/mglru: fix div-by-zero in vmpressure_calc_level()

Miaohe Lin <[email protected]>
mm/hugetlb: fix possible recursive locking detected warning

Aristeu Rozanski <[email protected]>
hugetlb: force allocating surplus hugepages on mempolicy allowed nodes

Gavin Shan <[email protected]>
mm/huge_memory: avoid PMD-size page cache if needed

Yang Shi <[email protected]>
mm: huge_memory: use !CONFIG_64BIT to relax huge page alignment on 32 bit machines

Jann Horn <[email protected]>
landlock: Don't lose track of restrictions on cred_transfer

Mickaël Salaün <[email protected]>
selftests/landlock: Add cred_transfer test

Jason-JH.Lin <[email protected]>
mailbox: mtk-cmdq: Move devm_mbox_controller_register() after devm_pm_runtime_enable()

Peng Fan <[email protected]>
mailbox: imx: fix TXDB_V2 channel race condition

Andrew Davis <[email protected]>
mailbox: omap: Fix mailbox interrupt sharing

Richard Genoud <[email protected]>
remoteproc: k3-r5: Fix IPC-only mode detection

Nícolas F. R. A. Prado <[email protected]>
remoteproc: mediatek: Don't attempt to remap l1tcm memory if missing

Christophe JAILLET <[email protected]>
power: supply: ingenic: Fix some error handling paths in ingenic_battery_get_property()

Christophe JAILLET <[email protected]>
power: supply: ab8500: Fix error handling when calling iio_read_channel_processed()

Tiezhu Yang <[email protected]>
LoongArch: Check TIF_LOAD_WATCH to enable user space watchpoint

Yang Yang <[email protected]>
sbitmap: fix io hung due to race on sbitmap_word::cleared

Suren Baghdasaryan <[email protected]>
alloc_tag: fix page_ext_get/page_ext_put sequence during page splitting

Suren Baghdasaryan <[email protected]>
lib: reuse page_ext_data() to obtain codetag_ref

Suren Baghdasaryan <[email protected]>
lib: add missing newline character in the warning message

Carlos López <[email protected]>
s390/dasd: fix error checks in dasd_copy_pair_store()

Christophe Leroy <[email protected]>
powerpc/8xx: fix size given to set_huge_pte_at()

Heming Zhao <[email protected]>
md-cluster: fix hanging issue while a new disk adding

Konstantin Komarov <[email protected]>
fs/ntfs3: Keep runs for $MFT::$ATTR_DATA and $MFT::$ATTR_BITMAP

Konstantin Komarov <[email protected]>
fs/ntfs3: Missed error return

Konstantin Komarov <[email protected]>
fs/ntfs3: Fix the format of the "nocase" mount option

Csókás, Bence <[email protected]>
rtc: interface: Add RTC offset to alarm after fix-up

Ryusuke Konishi <[email protected]>
nilfs2: avoid undefined behavior in nilfs_cnt32_ge macro

SeongJae Park <[email protected]>
selftests/damon/access_memory: use user-defined region size

David Hildenbrand <[email protected]>
fs/proc/task_mmu: properly detect PM_MMAP_EXCLUSIVE per page of PMD-mapped THPs

David Hildenbrand <[email protected]>
fs/proc/task_mmu: don't indicate PM_MMAP_EXCLUSIVE without PM_PRESENT

David Hildenbrand <[email protected]>
fs/proc/task_mmu: indicate PM_FILE for PMD-mapped file THP

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix TPU suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix TCLK suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: FIX PWM suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix IRQ suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix (H)SCIF3 suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix (H)SCIF1 suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix FXR_TXEN[AB] suffixes

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a779g0: Fix CANFD5 suffix

Richard Genoud <[email protected]>
rtc: tps6594: Fix memleak in probe

Konstantin Komarov <[email protected]>
fs/ntfs3: Fix field-spanning write in INDEX_HDR

Andy Shevchenko <[email protected]>
fs/ntfs3: Drop stray '\' (backslash) in formatting string

Konstantin Komarov <[email protected]>
fs/ntfs3: Correct undo if ntfs_create_inode failed

Konstantin Komarov <[email protected]>
fs/ntfs3: Replace inode_trylock with inode_lock

Peng Fan <[email protected]>
pinctrl: freescale: mxs: Fix refcount of child

Yang Yingliang <[email protected]>
pinctrl: ti: ti-iodelay: fix possible memory leak when pinctrl_enable() fails

Yang Yingliang <[email protected]>
pinctrl: single: fix possible memory leak when pinctrl_enable() fails

Yang Yingliang <[email protected]>
pinctrl: core: fix possible memory leak when pinctrl_enable() fails

Dmitry Yashin <[email protected]>
pinctrl: rockchip: update rk3308 iomux routes

Konstantin Komarov <[email protected]>
fs/ntfs3: Add missing .dirty_folio in address_space_operations

Konstantin Komarov <[email protected]>
fs/ntfs3: Fix getting file type

Konstantin Komarov <[email protected]>
fs/ntfs3: Missed NI_FLAG_UPDATE_PARENT setting

Konstantin Komarov <[email protected]>
fs/ntfs3: Deny getting attr data block in compressed frame

Konstantin Komarov <[email protected]>
fs/ntfs3: Fix transform resident to nonresident for compressed files

Konstantin Komarov <[email protected]>
fs/ntfs3: Merge synonym COMPRESSION_UNIT and NTFS_LZNT_CUNIT

Martin Willi <[email protected]>
net: dsa: b53: Limit chip-wide jumbo frame config to CPU ports

Martin Willi <[email protected]>
net: dsa: mv88e6xxx: Limit chip-wide frame size config to CPU ports

Ido Schimmel <[email protected]>
ipv4: Fix incorrect TOS in fibmatch route get reply

Ido Schimmel <[email protected]>
ipv4: Fix incorrect TOS in route get reply

Pablo Neira Ayuso <[email protected]>
net: flow_dissector: use DEBUG_NET_WARN_ON_ONCE

Joshua Washington <[email protected]>
gve: Fix XDP TX completion handling when counters overflow

Chen Hanxiao <[email protected]>
ipvs: properly dereference pe in ip_vs_add_service

Florian Westphal <[email protected]>
netfilter: nf_set_pipapo: fix initial map fill

Pablo Neira Ayuso <[email protected]>
netfilter: ctnetlink: use helper function to calculate expect ID

Jiaxun Yang <[email protected]>
MIPS: Fix fallback march for SB1

Konstantin Taranov <[email protected]>
RDMA/mana_ib: Set correct device into ib

Konstantin Taranov <[email protected]>
RDMA/mana_ib: set node_guid

Jack Wang <[email protected]>
bnxt_re: Fix imm_data endianness

David Ahern <[email protected]>
RDMA: Fix netdev tracker in ib_device_set_netdev

David Gstir <[email protected]>
crypto: mxs-dcp - Ensure payload is zero when using key slot

Jon Pan-Doh <[email protected]>
iommu/vt-d: Fix identity map bounds in si_domain_init()

Chengchang Tang <[email protected]>
RDMA/hns: Fix mbx timing out before CMD execution is completed

Chengchang Tang <[email protected]>
RDMA/hns: Fix insufficient extend DB for VFs.

Chengchang Tang <[email protected]>
RDMA/hns: Fix undifined behavior caused by invalid max_sge

Chengchang Tang <[email protected]>
RDMA/hns: Fix shift-out-bounds when max_inline_data is 0

Chengchang Tang <[email protected]>
RDMA/hns: Fix missing pagesize and alignment check in FRMR

Junxian Huang <[email protected]>
RDMA/hns: Fix unmatch exception handling when init eq table fails

Junxian Huang <[email protected]>
RDMA/hns: Fix soft lockup under heavy CEQE load

Junxian Huang <[email protected]>
RDMA/hns: Check atomic wr length

Nick Bowler <[email protected]>
macintosh/therm_windtunnel: fix module unload.

Michael Ellerman <[email protected]>
powerpc/xmon: Fix disassembly CPU feature checks

Lu Baolu <[email protected]>
iommu/vt-d: Fix aligned pages in calculate_psi_aligned_address()

Lu Baolu <[email protected]>
iommu/vt-d: Limit max address mask to MAX_AGAW_PFN_WIDTH

Frank Li <[email protected]>
PCI: dwc: Fix index 0 incorrectly being interpreted as a free ATU slot

Manivannan Sadhasivam <[email protected]>
PCI: qcom-ep: Disable resources unconditionally during PERST# assert

Dominique Martinet <[email protected]>
MIPS: Octeron: remove source file executable bit

Lorenzo Bianconi <[email protected]>
clk: en7523: fix rate divider for slic and spi clocks

Stephen Boyd <[email protected]>
clk: qcom: Park shared RCGs upon registration

Abel Vesa <[email protected]>
clk: qcom: gcc-x1e80100: Set parent rate for USB3 sec and tert PHY pipe clks

Chen Ni <[email protected]>
clk: qcom: kpss-xcc: Return of_clk_add_hw_provider to transfer the error

Nivas Varadharajan Mugunthakumar <[email protected]>
crypto: qat - extend scope of lock in adf_cfg_add_key_value_param()

Heiko Stuebner <[email protected]>
nvmem: rockchip-otp: set add_legacy_fixed_of_cells config option

Justin Tee <[email protected]>
scsi: lpfc: Revise lpfc_prep_embed_io routine with proper endian macro usages

Denis Arefev <[email protected]>
net: missing check virtio

Michael S. Tsirkin <[email protected]>
vhost/vsock: always initialize seqpacket_allow

Dan Carpenter <[email protected]>
PCI: endpoint: Fix error handling in epf_ntb_epc_cleanup()

Dan Carpenter <[email protected]>
PCI: endpoint: Clean up error handling in vpci_scan_bus()

Georgi Djakov <[email protected]>
iommu/arm-smmu-qcom: Register the TBU driver in qcom_smmu_impl_init

Aleksandr Mishin <[email protected]>
ASoC: amd: Adjust error handling in case of absent codec device

Guenter Roeck <[email protected]>
eeprom: ee1004: Call i2c_new_scanned_device to instantiate thermal sensor

Christoph Schlameuss <[email protected]>
kvm: s390: Reject memory region operations for ucontrol VMs

Benjamin Marzinski <[email protected]>
dm-raid: Fix WARN_ON_ONCE check for sync_thread in raid_resume

Abel Vesa <[email protected]>
clk: qcom: gcc-x1e80100: Fix halt_check for all pipe clocks

Dmitry Torokhov <[email protected]>
Input: elan_i2c - do not leave interrupt disabled on suspend failure

Leon Romanovsky <[email protected]>
RDMA/device: Return error earlier if port in not valid

Arnd Bergmann <[email protected]>
mtd: make mtd_test.c a separate module

Joao Martins <[email protected]>
iommufd/iova_bitmap: Check iova_bitmap_done() after set ahead

Joao Martins <[email protected]>
iommufd/selftest: Fix tests to use MOCK_PAGE_SIZE based buffer sizes

Joao Martins <[email protected]>
iommufd/selftest: Add tests for <= u8 bitmap sizes

Joao Martins <[email protected]>
iommufd/selftest: Fix iommufd_test_dirty() to handle <u8 bitmaps

Joao Martins <[email protected]>
iommufd/selftest: Fix dirty bitmap tests with u8 bitmaps

Chen Ni <[email protected]>
ASoC: max98088: Check for clk_prepare_enable() error

Nathan Lynch <[email protected]>
powerpc/prom: Add CPU info to hardware description string later

Harald Freudenberger <[email protected]>
hwrng: core - Fix wrong quality calculation at hw rng registration

Huai-Yuan Liu <[email protected]>
scsi: lpfc: Fix a possible null pointer dereference

Aleksandr Mishin <[email protected]>
ASoC: qcom: Adjust issues in case of DT error in asoc_qcom_lpass_cpu_platform_probe()

Honggang LI <[email protected]>
RDMA/rxe: Don't set BTH_ACK_MASK for UC or UD QPs

Or Har-Toov <[email protected]>
RDMA/mlx5: Use sq timestamp as QP timestamp when RoCE is disabled

Leon Romanovsky <[email protected]>
RDMA/mlx4: Fix truncated output warning in alias_GUID.c

Leon Romanovsky <[email protected]>
RDMA/mlx4: Fix truncated output warning in mad.c

Andrei Lalaev <[email protected]>
Input: qt1050 - handle CHIP_ID reading error

Konrad Dybcio <[email protected]>
interconnect: qcom: qcm2290: Fix mas_snoc_bimc RPM master ID

Taniya Das <[email protected]>
clk: qcom: gpucc-sa8775p: Update wait_val fields for GPU GDSC's

Taniya Das <[email protected]>
clk: qcom: gpucc-sa8775p: Park RCG's clk source at XO during disable

Taniya Das <[email protected]>
clk: qcom: gpucc-sa8775p: Remove the CLK_IS_CRITICAL and ALWAYS_ON flags

Taniya Das <[email protected]>
clk: qcom: gcc-sa8775p: Update the GDSC wait_val fields and flags

Taniya Das <[email protected]>
clk: qcom: gpucc-sm8350: Park RCG's clk source at XO during disable

Michael Walle <[email protected]>
mtd: spi-nor: winbond: fix w25q128 regression

Leon Romanovsky <[email protected]>
RDMA/cache: Release GID table even if leak is detected

Hao Ge <[email protected]>
ASoc: PCM6240: Return directly after a failed devm_kzalloc() in pcmdevice_i2c_probe()

Neil Armstrong <[email protected]>
usb: typec-mux: nb7vpq904m: unregister typec switch on probe error and remove

Neil Armstrong <[email protected]>
usb: typec-mux: ptn36502: unregister typec switch on probe error and remove

Simon Trimmer <[email protected]>
ASoC: cs35l56: Accept values greater than 0 as IRQ numbers

Shenghao Ding <[email protected]>
ASoc: tas2781: Enable RCA-based playback without DSP firmware download

Sourabh Jain <[email protected]>
powerpc/kexec_file: fix cpus node update to FDT

Chiara Meiohas <[email protected]>
RDMA/mlx5: Set mkeys for dmabuf at PAGE_SIZE

James Clark <[email protected]>
coresight: Fix ref leak when of_coresight_parse_endpoint() fails

Shivaprasad G Bhat <[email protected]>
KVM: PPC: Book3S HV: Fix the get_one_reg of SDAR

Shivaprasad G Bhat <[email protected]>
KVM: PPC: Book3S HV: Fix the set_one_reg for MMCR3

Mostafa Saleh <[email protected]>
iommu/arm-smmu-v3: Avoid uninitialized asid in case of error

Nuno Sa <[email protected]>
iio: adc: adi-axi-adc: don't allow concurrent enable/disable calls

Antoniu Miclaus <[email protected]>
iio: frequency: adrf6780: rm clk provider include

Nuno Sa <[email protected]>
iio: adc: ad9467: use DMA safe buffer for spi

Xianwei Zhao <[email protected]>
clk: meson: s4: fix pwm_j_div parent clock

Xianwei Zhao <[email protected]>
clk: meson: s4: fix fixed_pll_dco clock

Taniya Das <[email protected]>
clk: qcom: camcc-sc7280: Add parent dependency to all camera GDSCs

Taniya Das <[email protected]>
clk: qcom: gcc-sc7280: Update force mem core bit for UFS ICE clock

Lothar Rubusch <[email protected]>
crypto: atmel-sha204a - fix negated return value

Christophe JAILLET <[email protected]>
crypto: tegra - Remove an incorrect iommu_fwspec_free() call in tegra_se_remove()

Minwoo Im <[email protected]>
scsi: ufs: mcq: Fix missing argument 'hba' in MCQ_OPR_OFFSET_n

Andy Chiu <[email protected]>
riscv: smp: fail booting up smp if inconsistent vlen is detected

Jon Hunter <[email protected]>
PCI: tegra194: Set EP alignment restriction for inbound ATU

Marek Vasut <[email protected]>
PCI: rcar: Demote WARN() to dev_warn_ratelimited() in rcar_pcie_wakeup()

Aleksandr Mishin <[email protected]>
PCI: keystone: Fix NULL pointer dereference in case of DT error in ks_pcie_setup_rc_app_regs()

Siddharth Vadapalli <[email protected]>
PCI: keystone: Don't enable BAR 0 for AM654x

Siddharth Vadapalli <[email protected]>
PCI: keystone: Relocate ks_pcie_set/clear_dbi_mode()

Ilpo Järvinen <[email protected]>
PCI: Fix resource double counting on remove & rescan

Manivannan Sadhasivam <[email protected]>
PCI: endpoint: pci-epf-test: Make use of cached 'epc_features' in pci_epf_test_core_init()

Chenyuan Yang <[email protected]>
iio: Fix the sorting functionality in iio_gts_build_avail_time_table

Benjamin Coddington <[email protected]>
SUNRPC: Fixup gss_status tracepoint error output

Christoph Hellwig <[email protected]>
nfs: pass explicit offset/count to trace events

Luke D. Jones <[email protected]>
platform/x86: asus-wmi: fix TUF laptop RGB variant

Ian Rogers <[email protected]>
perf dso: Fix address sanitizer build

Andreas Larsson <[email protected]>
sparc64: Fix incorrect function signature and add prototype for prom_cif_init

Dan Carpenter <[email protected]>
leds: flash: leds-qcom-flash: Test the correct variable in init

Thomas Zimmermann <[email protected]>
drm/qxl: Pin buffer objects for internal mappings

Jan Kara <[email protected]>
ext4: avoid writing unitialized memory to disk in EA inodes

Luis Henriques (SUSE) <[email protected]>
ext4: don't track ranges in fast_commit if inode has inlined data

Olga Kornievskaia <[email protected]>
NFSv4.1 another fix for EXCHGID4_FLAG_USE_PNFS_DS for DS server

NeilBrown <[email protected]>
SUNRPC: avoid soft lockup when transmitting UDP to reachable server.

Chuck Lever <[email protected]>
xprtrdma: Fix rpcrdma_reqs_reset()

Javier Carrasco <[email protected]>
mfd: omap-usb-tll: Use struct_size to allocate tll

Arnd Bergmann <[email protected]>
mfd: rsmu: Split core code into separate module

Steven Price <[email protected]>
drm/panthor: Record devfreq busy as soon as a job is started

Adrian Hunter <[email protected]>
perf intel-pt: Fix exclude_guest setting

Adrian Hunter <[email protected]>
perf intel-pt: Fix aux_watermark calculation for 64-bit size

Dikshita Agarwal <[email protected]>
media: venus: flush all buffers in output plane streamoff

Namhyung Kim <[email protected]>
perf stat: Fix a segfault with --per-cluster --metric-only

Michael Walle <[email protected]>
drm/mediatek/dp: Fix spurious kfree()

Michael Walle <[email protected]>
drm/mediatek: dpi/dsi: Fix possible_crtcs calculation

Ma Ke <[email protected]>
drm/amd/display: Add null check before access structs

Luis Henriques (SUSE) <[email protected]>
ext4: fix infinite loop when replaying fast_commit

Hsiao Chien Sung <[email protected]>
drm/mediatek: Remove less-than-zero comparison of an unsigned value

Geert Uytterhoeven <[email protected]>
drm/panic: Do not select DRM_KMS_HELPER

Jocelyn Falempe <[email protected]>
drm/panic: depends on !VT_CONSOLE

Luca Ceresoli <[email protected]>
Revert "leds: led-core: Fix refcount leak in of_led_get()"

Anjelique Melendez <[email protected]>
leds: rgb: leds-qcom-lpg: Add PPG check for setting/clearing PBS triggers

Chen Ni <[email protected]>
drm/qxl: Add check for drm_cvt_mode

Lucas Stach <[email protected]>
drm/etnaviv: fix DMA direction handling for cached RW buffers

Namhyung Kim <[email protected]>
perf report: Fix condition in sort__sym_cmp()

Junhao He <[email protected]>
perf pmus: Fixes always false when compare duplicates aliases

Athira Rajeev <[email protected]>
tools/perf: Fix the string match for "/tmp/perf-$PID.map" files in dso__load

James Clark <[email protected]>
perf test: Make test_arm_callgraph_fp.sh more robust

Dmitry Baryshkov <[email protected]>
platform/arm64: build drivers even on non-ARM64 platforms

Geert Uytterhoeven <[email protected]>
drm/panic: Fix off-by-one logo size checks

Jocelyn Falempe <[email protected]>
drm/panic: only draw the foreground color in drm_panic_blit()

Karolina Stolarek <[email protected]>
drm/ttm/tests: Fix a warning in ttm_bo_unreserve_bulk

Abhinav Kumar <[email protected]>
drm/msm/dpu: drop validity checks for clear_pending_flush() ctl op

Jonathan Marek <[email protected]>
drm/msm/dsi: set VIDEO_COMPRESSION_MODE_CTRL_WC

Jonathan Marek <[email protected]>
drm/msm/dsi: set video mode widebus enable bit when widebus is enabled

Hans de Goede <[email protected]>
leds: trigger: Unregister sysfs attributes before calling deactivate()

Ming Qian <[email protected]>
media: imx-jpeg: Drop initial source change event if capture has been setup

Konrad Dybcio <[email protected]>
drm/msm/a6xx: Fix A702 UBWC mode

Abhinav Kumar <[email protected]>
drm/msm/a6xx: use __unused__ to fix compiler warnings for gen7_* includes

Hsiao Chien Sung <[email protected]>
drm/mediatek: Set DRM mode configs accordingly

Hsiao Chien Sung <[email protected]>
drm/mediatek: Add DRM_MODE_ROTATE_0 to rotation property

Hsiao Chien Sung <[email protected]>
drm/mediatek: Add OVL compatible name for MT8195

Hsiao Chien Sung <[email protected]>
drm/mediatek: Turn off the layers with zero width or height

Hsiao Chien Sung <[email protected]>
drm/mediatek: Fix destination alpha error in OVL

Hsiao Chien Sung <[email protected]>
drm/mediatek: Fix XRGB setting error in Mixer

Hsiao Chien Sung <[email protected]>
drm/mediatek: Fix XRGB setting error in OVL

Hsiao Chien Sung <[email protected]>
drm/mediatek: Use 8-bit alpha in ETHDR

Hsiao Chien Sung <[email protected]>
drm/mediatek: Add missing plane settings when async update

Sebastian Andrzej Siewior <[email protected]>
drm/ttm/tests: Let ttm_bo_test consider different ww_mutex implementation.

Laurent Pinchart <[email protected]>
media: renesas: vsp1: Store RPF partition configuration per RPF instance

Laurent Pinchart <[email protected]>
media: renesas: vsp1: Fix _irqsave and _irq mix

Jacopo Mondi <[email protected]>
media: rcar-csi2: Cleanup subdevice in remove()

Jacopo Mondi <[email protected]>
media: rcar-csi2: Disable runtime_pm in probe error

Jacopo Mondi <[email protected]>
media: rcar-vin: Fix YUYV8_1X16 handling for CSI-2

Jouni Högander <[email protected]>
drm/i915/psr: Set SU area width as pipe src width

Sean Anderson <[email protected]>
drm: zynqmp_kms: Fix AUX bus not getting unregistered

Christophe JAILLET <[email protected]>
drm: zynqmp_dpsub: Fix an error handling path in zynqmp_dpsub_probe()

Daniel Schaefer <[email protected]>
media: uvcvideo: Override default flags

Oleksandr Natalenko <[email protected]>
media: uvcvideo: Add quirk for invalid dev_sof in Logitech C920

Ricardo Ribalda <[email protected]>
media: uvcvideo: Quirk for invalid dev_sof in Logitech C922

Conor Dooley <[email protected]>
media: i2c: imx219: fix msr access command sequence

Ricardo Ribalda <[email protected]>
media: c8sectpfe: Add missing parameter names

Aleksandr Burakov <[email protected]>
saa7134: Unchecked i2c_transfer function result fixed

Alex Deucher <[email protected]>
drm/amd/display: use pre-allocated temp structure for bounding box

Dan Carpenter <[email protected]>
ipmi: ssif_bmc: prevent integer overflow on 32bit systems

Jiri Olsa <[email protected]>
x86/shstk: Make return uprobe work with shadow stack

Jouni Högander <[email protected]>
drm/i915/psr: Print Panel Replay status instead of frame lock status

Jouni Högander <[email protected]>
drm/i915/display: Skip Panel Replay on pipe comparison if no active planes

Adam Ford <[email protected]>
drm/bridge: samsung-dsim: Set P divider based on min/max of fin pll

Yunfei Dong <[email protected]>
media: mediatek: vcodec: Fix unreasonable data conversion

Irui Wang <[email protected]>
media: mediatek: vcodec: Handle invalid decoder vsi

Ian Rogers <[email protected]>
perf maps: Fix use after free in __maps__fixup_overlap_and_insert

Dmitry Baryshkov <[email protected]>
drm/msm/dp: fix runtime_pm handling in dp_wait_hpd_asserted

Junhao Xie <[email protected]>
drm/msm/dpu: drop duplicate drm formats from wb2_formats arrays

Dmitry Baryshkov <[email protected]>
Revert "drm/msm/dpu: drop dpu_encoder_phys_ops.atomic_mode_set"

Barnabás Czémán <[email protected]>
drm/msm/dpu: fix encoder irq wait skip

David Hildenbrand <[email protected]>
s390/uv: Don't call folio_wait_writeback() without a folio reference

Srinivasan Shanmugam <[email protected]>
drm/amdgpu: Fix type mismatch in amdgpu_gfx_kiq_init_ring

ChiYuan Huang <[email protected]>
media: v4l: async: Fix NULL pointer dereference in adding ancillary links

Ricardo Ribalda <[email protected]>
media: i2c: hi846: Fix V4L2_SUBDEV_FORMAT_TRY get_selection()

Bryan O'Donoghue <[email protected]>
media: i2c: Fix imx412 exposure control

Jouni Högander <[email protected]>
drm/i915/psr: Use enable boolean from intel_crtc_state for Early Transport

Ricardo Ribalda <[email protected]>

    media: imon: Fix race getting ictx->lock

Zheng Yejian <[email protected]>
media: dvb-usb: Fix unexpected infinite loop in dvb_usb_read_remote_control()

Mikhail Kobuk <[email protected]>
media: pci: ivtv: Add check for DMA map result

Arnd Bergmann <[email protected]>
drm/amd/display: Move 'struct scaler_data' off stack

Arnd Bergmann <[email protected]>
drm/amd/display: fix graphics_object_id size

Arnd Bergmann <[email protected]>
drm/amd/display: dynamically allocate dml2_configuration_options structures

Srinivasan Shanmugam <[email protected]>
drm/amdgpu: Fix snprintf usage in amdgpu_gfx_kiq_init_ring

Kuro Chung <[email protected]>
drm/bridge: it6505: fix hibernate to resume no display issue

Douglas Anderson <[email protected]>
drm/panel: ilitek-ili9882t: Check for errors on the NOP in prepare()

Douglas Anderson <[email protected]>
drm/panel: ilitek-ili9882t: If prepare fails, disable GPIO before regulators

Douglas Anderson <[email protected]>
drm/panel: boe-tv101wum-nl6: Check for errors on the NOP in prepare()

Douglas Anderson <[email protected]>
drm/panel: boe-tv101wum-nl6: If prepare fails, disable GPIO before regulators

Douglas Anderson <[email protected]>
drm/panel: himax-hx8394: Handle errors from mipi_dsi_dcs_set_display_on() better

Tim Van Patten <[email protected]>
drm/amdgpu: Remove GC HW IP 9.3.0 from noretry=1

Friedrich Vock <[email protected]>
drm/amdgpu: Check if NBIO funcs are NULL in amdgpu_device_baco_exit

Lijo Lazar <[email protected]>
drm/amdgpu: Fix memory range calculation

Lijo Lazar <[email protected]>
drm/amd/pm: Fix aldebaran pcie speed reporting

Dmitry Baryshkov <[email protected]>
drm/panel: lg-sw43408: add missing error handling

Douglas Anderson <[email protected]>
drm/mipi-dsi: Fix theoretical int overflow in mipi_dsi_generic_write_seq()

Douglas Anderson <[email protected]>
drm/mipi-dsi: Fix theoretical int overflow in mipi_dsi_dcs_write_seq()

Jouni Högander <[email protected]>
drm/i915/display: Do not print "psr: enabled" for on Panel Replay

Jouni Högander <[email protected]>
drm/i915/psr: Rename has_psr2 as has_sel_update

Mukul Joshi <[email protected]>
drm/amdkfd: Fix CU Masking for GFX 9.4.3

Faiz Abbas <[email protected]>
drm/arm/komeda: Fix komeda probe failing if there are no links in the secondary pipeline

Andy Yan <[email protected]>
drm/rockchip: vop2: Fix the port mux of VP2

Kuniyuki Iwashima <[email protected]>

    tcp: Don't access uninit tcp_rsk(req)->ao_keyid in tcp_create_openreq_child().

Luiz Augusto von Dentz <[email protected]>
Bluetooth: Fix usage of __hci_cmd_sync_status

Elliot Ayrey <[email protected]>
net: bridge: mst: Check vlan state for egress decision

Taehee Yoo <[email protected]>
xdp: fix invalid wait context of page_pool_destroy()

Breno Leitao <[email protected]>
virtio_net: Fix napi_skb_cache_put warning

Dmitry Antipov <[email protected]>
Bluetooth: hci_core, hci_sync: cleanup struct discovery_state

Iulia Tanasescu <[email protected]>
Bluetooth: hci_event: Set QoS encryption from BIGInfo report

Neeraj Sanjay Kale <[email protected]>
Bluetooth: btnxpuart: Add handling for boot-signature timeout errors

Kiran K <[email protected]>
Bluetooth: btintel_pcie: Fix irq leak

Kiran K <[email protected]>
Bluetooth: btintel: Refactor btintel_set_ppag()

Sven Peter <[email protected]>
Bluetooth: hci_bcm4377: Use correct unit for timeouts

Amit Cohen <[email protected]>
selftests: forwarding: devlink_lib: Wait for udev events after reloading

Kory Maincent <[email protected]>
net: ethtool: pse-pd: Fix possible null-deref

Kory Maincent <[email protected]>
net: pse-pd: Do not return EOPNOSUPP if config is null

Tengda Wu <[email protected]>
bpf: Fix null pointer dereference in resolve_prog_type() for BPF_PROG_TYPE_EXT

Jeff Layton <[email protected]>
nfsd: nfsd_file_lease_notifier_call gets a file_lease as an argument

Shung-Hsi Yu <[email protected]>
bpf: fix overflow check in adjust_jmp_off()

Alan Maguire <[email protected]>
bpf: Eliminate remaining "make W=1" warnings in kernel/bpf/btf.o

Alexey Kodanev <[email protected]>
bna: adjust 'name' buf size of bna_tcb and bna_ccb structures

Alan Maguire <[email protected]>
bpf: annotate BTF show functions with __printf

Ilpo Järvinen <[email protected]>
selftests/resctrl: Fix closing IMC fds on error and open-code R+W instead of loops

Puranjay Mohan <[email protected]>
bpf, arm64: Fix trampoline for BPF_TRAMP_F_CALL_ORIG

Geliang Tang <[email protected]>
selftests/bpf: Close obj in error path in xdp_adjust_tail

Geliang Tang <[email protected]>
selftests/bpf: Null checks for links in bpf_tcp_ca

Geliang Tang <[email protected]>
selftests/bpf: Close fd in error path in drop_on_reuseport

John Stultz <[email protected]>
locking/rwsem: Add __always_inline annotation to __down_write_common() and inlined callers

Johannes Berg <[email protected]>
wifi: virt_wifi: don't use strlen() in const context

Johannes Berg <[email protected]>
net: page_pool: fix warning code

Gaosheng Cui <[email protected]>
gss_krb5: Fix the error handling path for crypto_sync_skcipher_setkey

Chuck Lever <[email protected]>
NFSD: Fix nfsdcld warning

Benjamin Tissoires <[email protected]>
bpf: helpers: fix bpf_wq_set_callback_impl signature

En-Wei Wu <[email protected]>
wifi: virt_wifi: avoid reporting connection success with wrong SSID

Jianbo Liu <[email protected]>
xfrm: call xfrm_dev_policy_delete when kill policy

Jianbo Liu <[email protected]>
xfrm: fix netdev reference count imbalance

Aleksandr Mishin <[email protected]>
wifi: rtw89: Fix array index mistake in rtw89_sta_info_get_iter()

Sandipan Das <[email protected]>
perf/x86/amd/uncore: Fix DF and UMC domain identification

Sandipan Das <[email protected]>
perf/x86/amd/uncore: Avoid PMU registration if counters are unavailable

Zhang Rui <[email protected]>
perf/x86/intel/cstate: Fix Alderlake/Raptorlake/Meteorlake

Adrian Hunter <[email protected]>
perf: Fix default aux_watermark calculation

Adrian Hunter <[email protected]>
perf: Prevent passing zero nr_pages to rb_alloc_aux()

Adrian Hunter <[email protected]>
perf: Fix perf_aux_size() for greater-than 32-bit size

Adrian Hunter <[email protected]>
perf/x86/intel/pt: Fix pt_topa_entry_for_page() address calculation

Ilya Leoshkevich <[email protected]>
bpf: Fix atomic probe zero-extension

Tao Chen <[email protected]>
bpftool: Mount bpffs when pinmaps path not under the bpffs

Pu Lehui <[email protected]>
riscv, bpf: Fix out-of-bounds issue when preparing trampoline image

Steffen Klassert <[email protected]>
xfrm: Export symbol xfrm_dev_state_delete.

Martin Kaistra <[email protected]>
wifi: rtl8xxxu: 8188f: Limit TX power index

Kuan-Chung Chen <[email protected]>
wifi: rtw89: 8852b: fix definition of KIP register number

Chih-Kang Chang <[email protected]>
wifi: rtw89: wow: fix GTK offload H2C skbuff issue

Karthikeyan Periyasamy <[email protected]>
wifi: ath12k: fix peer metadata parsing

Aloka Dixit <[email protected]>
wifi: ath12k: advertise driver capabilities for MBSSID and EMA

Johannes Berg <[email protected]>
wifi: iwlwifi: mvm: always unblock EMLSR on ROC end

Daniel Gabay <[email protected]>
wifi: iwlwifi: fix iwl_mvm_get_valid_rx_ant()

Johannes Berg <[email protected]>
wifi: mac80211: correcty limit wider BW TDLS STAs

Johannes Berg <[email protected]>

    wifi: mac80211: add ieee80211_tdls_sta_link_id()

Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables: rise cap on SELinux secmark context

Ismael Luceno <[email protected]>
ipvs: Avoid unnecessary calls to skb_is_gso_sctp

Steffen Klassert <[email protected]>
xfrm: Fix unregister netdevice hang on hardware offload.

Antoine Tenart <[email protected]>
libbpf: Skip base btf sanity checks

Donglin Peng <[email protected]>
libbpf: Checking the btf_type kind when fixing variable offsets

Jiri Olsa <[email protected]>
bpf: Change bpf_session_cookie return value to __u64 *

Lukasz Majewski <[email protected]>
net: dsa: ksz_common: Allow only up to two HSR HW offloaded ports for KSZ9477

Csókás, Bence <[email protected]>
net: fec: Fix FEC_ECR_EN1588 being cleared on link-down

Jan Kara <[email protected]>
udf: Fix bogus checksum computation in udf_rename()

Antony Antony <[email protected]>
xfrm: Log input direction mismatch error in one place

Antony Antony <[email protected]>
xfrm: Fix input error path memory access

Daniel Xu <[email protected]>
bpf: Make bpf_session_cookie() kfunc return long *

Johannes Berg <[email protected]>
wifi: iwlwifi: mvm: separate non-BSS/ROC EMLSR blocking

Miri Korenblit <[email protected]>
wifi: iwlwifi: mvm: fix re-enabling EMLSR

Johannes Berg <[email protected]>
wifi: nl80211: expose can-monitor channel property

Baochen Qiang <[email protected]>

    wifi: cfg80211: handle 2x996 RU allocation in cfg80211_calculate_bitrate_he()

Baochen Qiang <[email protected]>

    wifi: cfg80211: fix typo in cfg80211_calculate_bitrate_he()

Aditya Kumar Singh <[email protected]>
wifi: ath12k: fix per pdev debugfs registration

Baochen Qiang <[email protected]>
wifi: ath11k: fix wrong handling of CCMP256 and GCMP ciphers

Baochen Qiang <[email protected]>
wifi: ath12k: fix ACPI warning when resume

Thomas Gleixner <[email protected]>
jump_label: Fix concurrency issues in static_key_slow_dec()

Thomas Gleixner <[email protected]>
perf/x86: Serialize set_attr_rdpmc()

Ido Schimmel <[email protected]>
mlxsw: spectrum_acl: Fix ACL scale regression and firmware errors

Ido Schimmel <[email protected]>
mlxsw: spectrum_acl_erp: Fix object nesting warning

Ido Schimmel <[email protected]>
lib: objagg: Fix general protection fault

Sean Christopherson <[email protected]>
sched/core: Drop spinlocks on contention iff kernel is preemptible

Sean Christopherson <[email protected]>
sched/core: Move preempt_model_*() helpers from sched.h to preempt.h

Jan Kara <[email protected]>
udf: Fix lock ordering in udf_evict_inode()

Geliang Tang <[email protected]>
selftests/bpf: Check length of recv in test_sockmap

Guangguan Wang <[email protected]>
net/smc: set rmb's SG_MAX_SINGLE_ALLOC limitation only when CONFIG_ARCH_NO_SG_CHAIN is defined

Andrii Nakryiko <[email protected]>
libbpf: keep FD_CLOEXEC flag when dup()'ing FD

Arnd Bergmann <[email protected]>
hns3: avoid linking objects into multiple modules

Eric Dumazet <[email protected]>

    tcp: fix races in tcp_v[46]_err()

Eric Dumazet <[email protected]>
tcp: fix races in tcp_abort()

Eric Dumazet <[email protected]>
tcp: fix race in tcp_write_err()

Eric Dumazet <[email protected]>
tcp: add tcp_done_with_error() helper

Linus Walleij <[email protected]>
net: ethernet: cortina: Restore TSO support

Baochen Qiang <[email protected]>
wifi: ath12k: fix wrong definition of CE ring's base address

Baochen Qiang <[email protected]>
wifi: ath11k: fix wrong definition of CE ring's base address

Ping-Ke Shih <[email protected]>
wifi: rtw89: 8852c: correct logic and restore PCI PHY EQ after device resume

P Praneesh <[email protected]>
wifi: ath12k: fix firmware crash during reo reinject

P Praneesh <[email protected]>
wifi: ath12k: fix invalid memory access while processing fragmented packets

P Praneesh <[email protected]>
wifi: ath12k: change DMA direction while mapping reinjected packets

Baochen Qiang <[email protected]>
wifi: ath11k: restore country code during resume

Baochen Qiang <[email protected]>
wifi: ath11k: refactor setting country code logic

Johannes Berg <[email protected]>
wifi: mac80211: reset negotiated TTLM on disconnect

Johannes Berg <[email protected]>
wifi: mac80211: cancel TTLM teardown work earlier

Johannes Berg <[email protected]>
wifi: mac80211: cancel multi-link reconf work on disconnect

Johannes Berg <[email protected]>
wifi: mac80211: fix TTLM teardown work

Miri Korenblit <[email protected]>
wifi: iwlwifi: mvm: don't skip link selection

Hagar Hemdan <[email protected]>
net: esp: cleanup esp_output_tail_tcp() in case of unsupported ESPINTCP

Ping-Ke Shih <[email protected]>
wifi: rtw89: 8852b: restore setting for RFE type 5 after device resume

Geliang Tang <[email protected]>
selftests/bpf: Fix prog numbers in test_sockmap

Ivan Babrou <[email protected]>
bpftool: Un-const bpf_func_info to fix it for llvm 17 and newer

Baochen Qiang <[email protected]>
wifi: ath12k: fix Smatch warnings on ath12k_core_suspend()

Nithyanantham Paramasivam <[email protected]>
wifi: ath12k: Fix tx completion ring (WBM2SW) setup failure

Pradeep Kumar Chitrapu <[email protected]>
wifi: ath12k: Correct 6 GHz frequency value in rx status

Samasth Norway Ananda <[email protected]>
wifi: brcmsmac: LCN PHY code is used for BCM4313 2G-only device

Kang Yang <[email protected]>
wifi: ath12k: avoid duplicated vdev stop

Karthikeyan Kathirvel <[email protected]>
wifi: ath12k: drop failed transmitted frames from metric calculation.

Sven Eckelmann <[email protected]>
wifi: ath12k: Don't drop tx_status in failure case

Marek Behún <[email protected]>
firmware: turris-mox-rwtm: Initialize completion before mailbox

Marek Behún <[email protected]>
firmware: turris-mox-rwtm: Fix checking return value of wait_for_completion_timeout()

Marek Behún <[email protected]>
firmware: turris-mox-rwtm: Do not complete if there are no waiters

Christophe Leroy <[email protected]>
vmlinux.lds.h: catch .bss..L* sections into BSS")

Tom Lendacky <[email protected]>
x86/sev: Do RMP memory coverage check after max_pfn has been set

Yanjun Yang <[email protected]>
ARM: Remove address checking for MMUless devices

Dmitry Torokhov <[email protected]>
ARM: spitz: fix GPIO assignment for backlight

Thorsten Blum <[email protected]>
m68k: cmpxchg: Fix return value for default case in __arch_xchg()

Dhananjay Ugwekar <[email protected]>
cpufreq/amd-pstate: Fix the scaling_max_freq setting on shared memory CPPC systems

Dhananjay Ugwekar <[email protected]>
cpufreq/amd-pstate-ut: Convert nominal_freq to khz during comparisons

Luca Weiss <[email protected]>
arm64: dts: qcom: sm6350: Add missing qcom,non-secure-domain property

Chukun Pan <[email protected]>
arm64: dts: rockchip: fixes PHY reset for Lunzn Fastrhino R68S

Chukun Pan <[email protected]>
arm64: dts: rockchip: disable display subsystem for Lunzn Fastrhino R6xS

Chukun Pan <[email protected]>
arm64: dts: rockchip: remove unused usb2 nodes for Lunzn Fastrhino R6xS

Chukun Pan <[email protected]>
arm64: dts: rockchip: fix pmu_io supply for Lunzn Fastrhino R6xS

Chukun Pan <[email protected]>
arm64: dts: rockchip: fix usb regulator for Lunzn Fastrhino R6xS

Chukun Pan <[email protected]>
arm64: dts: rockchip: fix regulator name for Lunzn Fastrhino R6xS

Cristian Ciocaltea <[email protected]>
arm64: dts: rockchip: Add missing power-domains for rk356x vop_mmu

Dang Huynh <[email protected]>
arm64: dts: qcom: qrb4210-rb2: Correct max current draw for VBUS

Chen Ni <[email protected]>
x86/xen: Convert comma to semicolon

Abel Vesa <[email protected]>

    arm64: dts: qcom: x1e80100: Fix USB HS PHY 0.8V supply

Adam Ford <[email protected]>
arm64: dts: imx8mp: Fix pgc vpu locations

Adam Ford <[email protected]>
arm64: dts: imx8mp: Fix pgc_mlmix location

Eero Tamminen <[email protected]>
m68k: atari: Fix TT bootup freeze / unexpected (SCU) interrupt messages

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r9a08g045: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r9a07g054: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r9a07g044: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r9a07g043u: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r8a779g0: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r8a779f0: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r8a779a0: Add missing hypervisor virtual timer IRQ

Geert Uytterhoeven <[email protected]>

    arm64: dts: renesas: r8a779h0: Drop "opp-shared" from opp-table-0

Cristian Ciocaltea <[email protected]>
arm64: dts: rockchip: Fix mic-in-differential usage on rk3568-evb1-v10

Cristian Ciocaltea <[email protected]>
arm64: dts: rockchip: Fix mic-in-differential usage on rk3566-roc-pc

Cristian Ciocaltea <[email protected]>
arm64: dts: rockchip: Drop invalid mic-in-differential on rk3568-rock-3a

Jerome Brunet <[email protected]>
arm64: dts: amlogic: setup hdmi system clock

Jerome Brunet <[email protected]>
arm64: dts: amlogic: add power domain to hdmitx

Jerome Brunet <[email protected]>
arm64: dts: amlogic: gx: correct hdmi clocks

AngeloGioacchino Del Regno <[email protected]>
soc: mediatek: mtk-mutex: Add MDP_TCC0 mod to MT8188 mutex table

Chen-Yu Tsai <[email protected]>
arm64: dts: mediatek: mt8183-kukui-jacuzzi: Add ports node for anx7625

Chen-Yu Tsai <[email protected]>
arm64: dts: mediatek: mt8183-pico6: Fix wake-on-X event node names

Hsin-Te Yuan <[email protected]>
arm64: dts: mediatek: mt8183-kukui: Fix the value of dlg,jack-det-rate mismatch

Rafał Miłecki <[email protected]>
arm64: dts: mediatek: mt7622: fix "emmc" pinctrl mux

Rafał Miłecki <[email protected]>
arm64: dts: mediatek: mt7981: fix code alignment for PWM clocks

Pin-yen Lin <[email protected]>
arm64: dts: mediatek: mt8192-asurada: Add off-on-delay-us for pp3300_mipibrdg

Chen-Yu Tsai <[email protected]>
arm64: dts: mediatek: mt8183-kukui: Drop bogus output-enable property

AngeloGioacchino Del Regno <[email protected]>

    arm64: dts: medaitek: mt8395-nio-12l: Set i2c6 pins to bias-disable

AngeloGioacchino Del Regno <[email protected]>
arm64: dts: mediatek: mt8192: Fix GPU thermal zone name for SVS

AngeloGioacchino Del Regno <[email protected]>
arm64: dts: mediatek: mt8195: Fix GPU thermal zone name for SVS

Michael Walle <[email protected]>
ARM: dts: imx6qdl-kontron-samx6i: fix PCIe reset polarity

Michael Walle <[email protected]>
ARM: dts: imx6qdl-kontron-samx6i: fix SPI0 chip selects

Michael Walle <[email protected]>
ARM: dts: imx6qdl-kontron-samx6i: fix board reset

Michael Walle <[email protected]>
ARM: dts: imx6qdl-kontron-samx6i: fix PHY reset

Michael Walle <[email protected]>
ARM: dts: imx6qdl-kontron-samx6i: fix phy-mode

Jerome Brunet <[email protected]>
arm64: dts: amlogic: sm1: fix spdif compatibles

Jonas Karlman <[email protected]>
arm64: dts: rockchip: Increase VOP clk rate on RK3328

Dmitry Baryshkov <[email protected]>
soc: qcom: pdr: fix parsing of domains lists

Dmitry Baryshkov <[email protected]>
soc: qcom: pdr: protect locator_addr with the main mutex

Sibi Sankar <[email protected]>
soc: qcom: icc-bwmon: Fix refcount imbalance seen during bwmon_remove

Komal Bajaj <[email protected]>
arm64: dts: qcom: qdu1000: Add secure qfprom node

Nícolas F. R. A. Prado <[email protected]>
arm64: dts: qcom: sc7180-trogdor: Disable pwmleds node where unused

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am62p5-sk: Fix pinmux for McASP1 TX

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am625-phyboard-lyra-rdk: Drop McASP AFIFOs

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am62-verdin: Drop McASP AFIFOs

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am625-beagleplay: Drop McASP AFIFOs

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am62p5: Drop McASP AFIFOs

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am62a7: Drop McASP AFIFOs

Jai Luthra <[email protected]>
arm64: dts: ti: k3-am62x: Drop McASP AFIFOs

Vaishnav Achath <[email protected]>
arm64: dts: ti: k3-j722s: Fix main domain GPIO count

Josua Mayer <[email protected]>
arm64: dts: ti: k3-am642-hummingboard-t: correct rs485 rts polarity

Jayesh Choudhary <[email protected]>
arm64: dts: ti: k3-am62p-main: Fix the reg-range for main_pktdma

Jayesh Choudhary <[email protected]>
arm64: dts: ti: k3-am62a-main: Fix the reg-range for main_pktdma

Jayesh Choudhary <[email protected]>
arm64: dts: ti: k3-am62-main: Fix the reg-range for main_pktdma

Esben Haabendal <[email protected]>
memory: fsl_ifc: Make FSL_IFC config visible and selectable

Primoz Fiser <[email protected]>
OPP: ti: Fix ti_opp_supply_probe wrong return values

Konrad Dybcio <[email protected]>

    arm64: dts: qcom: sc8280xp: Throttle the GPU when overheating

Konrad Dybcio <[email protected]>

    arm64: dts: qcom: sc8280xp-*: Remove thermal zone polling delays

Primoz Fiser <[email protected]>
cpufreq: ti-cpufreq: Handle deferred probe with dev_err_probe()

Dmitry Baryshkov <[email protected]>

    arm64: dts: qcom: qrb4210-rb2: make L9A always-on

Marek Vasut <[email protected]>
ARM: dts: stm32: Add arm,no-tick-in-suspend to STM32MP15xx STGEN timer

Pavel Löbl <[email protected]>
ARM: dts: sunxi: remove duplicated entries in makefile

Jay Buddhabhatti <[email protected]>
soc: xilinx: rename cpu_number1 to dummy_cpu_number

Sagar Cheluvegowda <[email protected]>
arm64: dts: qcom: sa8775p: mark ethernet devices as DMA-coherent

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: msm8996: specify UFS core_clk frequencies

Viresh Kumar <[email protected]>
OPP: Fix missing cleanup on error in _opp_attach_genpd()

Javier Carrasco <[email protected]>
cpufreq: sun50i: fix memory leak in dt_has_supported_hw()

Jonas Karlman <[email protected]>
arm64: dts: rockchip: Update WIFi/BT related nodes on rk3308-rock-pi-s

Jonas Karlman <[email protected]>
arm64: dts: rockchip: Add mdio and ethernet-phy nodes to rk3308-rock-pi-s

Jonas Karlman <[email protected]>
arm64: dts: rockchip: Add pinctrl for UART0 to rk3308-rock-pi-s

Jonas Karlman <[email protected]>
arm64: dts: rockchip: Add sdmmc related properties on rk3308-rock-pi-s

Stephen Boyd <[email protected]>
soc: qcom: rpmh-rsc: Ensure irqs aren't disabled by rpmh_rsc_send_data() callers

Chen Ni <[email protected]>
soc: qcom: pmic_glink: Handle the return value of pmic_glink_init

Marc Gonzalez <[email protected]>
arm64: dts: qcom: msm8998: enable adreno_smmu by default

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sdm850-lenovo-yoga-c630: fix IPA firmware path

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: msm8996-xiaomi-common: drop excton from the USB PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sm8450: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sm8350: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sm8250: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sm6350: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sm6115: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sdm845: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>

    arm64: dts: qcom: sc8180x: add power-domain to UFS PHY

Dmitry Baryshkov <[email protected]>
arm64: dts: qcom: sc7180: drop extra UFS PHY compat

Rayyan Ansari <[email protected]>
ARM: dts: qcom: msm8226-microsoft-common: Enable smbb explicitly

Viken Dadhaniya <[email protected]>
arm64: dts: qcom: sc7280: Remove CTS/RTS configuration

Bjorn Andersson <[email protected]>

    arm64: dts: qcom: sc8180x: Correct PCIe slave ports

Konrad Dybcio <[email protected]>
soc: qcom: socinfo: Update X1E PMICs

Guenter Roeck <[email protected]>
hwmon: (max6697) Fix swapped temp{1,8} critical alarms

Guenter Roeck <[email protected]>
hwmon: (max6697) Fix underflow when writing limit attributes

Nirmoy Das <[email protected]>
drm/xe/display/xe_hdcp_gsc: Free arbiter on driver removal

Uwe Kleine-König <[email protected]>
pwm: atmel-tcb: Fix race condition and convert to guards

Yao Zi <[email protected]>
drm/meson: fix canvas release in bind function

Gaosheng Cui <[email protected]>
nvmet-auth: fix nvmet_auth hash error handling

Jinjie Ruan <[email protected]>
arm64: smp: Fix missing IPI statistics

Adam Ford <[email protected]>
drm/bridge: adv7511: Fix Intermittent EDID failures

Uwe Kleine-König <[email protected]>
pwm: stm32: Always do lazy disabling

Dan Carpenter <[email protected]>
hwmon: (ltc2991) re-order conditions to fix off by one bug

Benjamin Marzinski <[email protected]>
md/raid5: recheck if reshape has finished with device_lock held

Yu Kuai <[email protected]>
md: Don't wait for MD_RECOVERY_NEEDED for HOT_REMOVE_DISK ioctl

Rob Herring (Arm) <[email protected]>
perf: arm_pmuv3: Avoid assigning fixed cycle counter with threshold

Christoph Hellwig <[email protected]>
xen-blkfront: fix sector_size propagation to the block layer

Bart Van Assche <[email protected]>
block/mq-deadline: Fix the tag reservation code

Bart Van Assche <[email protected]>
block: Call .limit_depth() after .hctx has been set

Wayne Tung <[email protected]>
hwmon: (adt7475) Fix default duty on fan is disabled

Chen Ridong <[email protected]>
cgroup/cpuset: Prevent UAF in proc_cpuset_show()

Josh Poimboeuf <[email protected]>
x86/syscall: Mark exit[_group] syscall handlers __noreturn

Ilpo Järvinen <[email protected]>
x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos

Ilpo Järvinen <[email protected]>
x86/pci/xen: Fix PCIBIOS_* return code handling

Ilpo Järvinen <[email protected]>
x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling

Ilpo Järvinen <[email protected]>
x86/of: Return consistent error type from x86_of_pci_irq_enable()

Chao Yu <[email protected]>
hfsplus: fix to avoid false alarm of circular locking

Masahiro Yamada <[email protected]>
x86/kconfig: Add as-instr64 macro to properly evaluate AS_WRUSS

Waiman Long <[email protected]>
cgroup/cpuset: Fix remote root partition creation problem

Waiman Long <[email protected]>
cgroup/cpuset: Optimize isolated partition only generate_sched_domains() calls

Gabriel Krisman Bertazi <[email protected]>
io_uring: Fix probe of disabled operations

Damien Le Moal <[email protected]>
dm: Call dm_revalidate_zones() after setting the queue limits

Christoph Hellwig <[email protected]>
block: initialize integrity buffer to zero before writing it to media

Christoph Hellwig <[email protected]>
ubd: untagle discard vs write zeroes not support handling

Christoph Hellwig <[email protected]>
ubd: refactor the interrupt handler

Tzung-Bi Shih <[email protected]>
platform/chrome: cros_ec_debugfs: fix wrong EC message version

Christoph Hellwig <[email protected]>
md/raid1: don't free conf on raid0_run failure

Christoph Hellwig <[email protected]>
md/raid0: don't free conf on raid0_run failure

Li Nan <[email protected]>
md: fix deadlock between mddev_suspend and flush bio

Frederic Weisbecker <[email protected]>
rcu/tasks: Fix stale task snaphot for Tasks Trace

Arnd Bergmann <[email protected]>
EDAC, i10nm: make skx_common.o a separate module

Chen Ni <[email protected]>
spi: atmel-quadspi: Add missing check for clk_prepare

Prajna Rajendra Kumar <[email protected]>
spi: spi-microchip-core: Fix the number of chip selects supported

-------------

Diffstat:

 Documentation/admin-guide/kernel-parameters.txt    |   4 +-
 Documentation/arch/powerpc/kvm-nested.rst          |   4 +-
 .../phy/qcom,sc8280xp-qmp-usb3-uni-phy.yaml        |   2 +-
 .../devicetree/bindings/thermal/thermal-zones.yaml |   5 +-
 Documentation/networking/xsk-tx-metadata.rst       |  16 +-
 Documentation/virt/kvm/api.rst                     |  12 +
 Makefile                                           |   4 +-
 arch/arm/boot/dts/allwinner/Makefile               |  62 --
 .../arm/boot/dts/nxp/imx/imx6q-kontron-samx6i.dtsi |  23 -
 .../boot/dts/nxp/imx/imx6qdl-kontron-samx6i.dtsi   |  14 +-
 .../dts/qcom/qcom-msm8226-microsoft-common.dtsi    |   4 +
 arch/arm/boot/dts/st/stm32mp151.dtsi               |   1 +
 arch/arm/mach-pxa/spitz.c                          |  30 +-
 arch/arm/mm/fault.c                                |   4 +-
 arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi  |   5 +
 arch/arm64/boot/dts/amlogic/meson-g12.dtsi         |   4 +
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi        |  10 +-
 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi         |  10 +-
 arch/arm64/boot/dts/amlogic/meson-sm1.dtsi         |   8 +-
 arch/arm64/boot/dts/freescale/imx8mp.dtsi          |  89 +--
 .../boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts  |   4 +-
 arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts       |   4 +-
 arch/arm64/boot/dts/mediatek/mt7981b.dtsi          |   8 +-
 .../dts/mediatek/mt8183-kukui-audio-da7219.dtsi    |   2 +-
 .../dts/mediatek/mt8183-kukui-jacuzzi-pico6.dts    |   8 +-
 .../boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi    |  25 +-
 arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi     |   4 +-
 arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi   |   1 +
 arch/arm64/boot/dts/mediatek/mt8192.dtsi           |   2 +-
 arch/arm64/boot/dts/mediatek/mt8195.dtsi           |   2 +-
 .../boot/dts/mediatek/mt8395-radxa-nio-12l.dts     |   2 +-
 .../arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi |   1 -
 arch/arm64/boot/dts/qcom/msm8996.dtsi              |   2 +-
 arch/arm64/boot/dts/qcom/msm8998.dtsi              |   1 -
 arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts |   1 -
 arch/arm64/boot/dts/qcom/qcm6490-idp.dts           |   1 -
 arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts       |   1 -
 arch/arm64/boot/dts/qcom/qdu1000.dtsi              |  15 +
 arch/arm64/boot/dts/qcom/qrb4210-rb2.dts           |   4 +-
 arch/arm64/boot/dts/qcom/sa8775p.dtsi              |   2 +
 .../boot/dts/qcom/sc7180-trogdor-lazor-r1-kb.dts   |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r1-lte.dts  |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r10-kb.dts  |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r10-lte.dts |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r3-kb.dts   |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r3-lte.dts  |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r9-kb.dts   |   2 +-
 .../boot/dts/qcom/sc7180-trogdor-lazor-r9-lte.dts  |   2 +-
 arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi       |   5 +-
 arch/arm64/boot/dts/qcom/sc7180.dtsi               |   3 +-
 arch/arm64/boot/dts/qcom/sc7280-idp.dtsi           |   1 -
 arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi         |   1 -
 arch/arm64/boot/dts/qcom/sc7280.dtsi               |  14 +-
 arch/arm64/boot/dts/qcom/sc8180x.dtsi              |   8 +-
 .../dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts     |   2 +-
 arch/arm64/boot/dts/qcom/sc8280xp-pmics.dtsi       |   4 +-
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi             |  28 +-
 arch/arm64/boot/dts/qcom/sdm845.dtsi               |   2 +
 .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts      |   1 +
 arch/arm64/boot/dts/qcom/sm6115.dtsi               |   2 +
 arch/arm64/boot/dts/qcom/sm6350.dtsi               |   4 +
 arch/arm64/boot/dts/qcom/sm8250.dtsi               |   2 +
 arch/arm64/boot/dts/qcom/sm8350.dtsi               |   2 +
 arch/arm64/boot/dts/qcom/sm8450.dtsi               |   2 +
 arch/arm64/boot/dts/qcom/x1e80100-crd.dts          |   6 +-
 arch/arm64/boot/dts/qcom/x1e80100-qcp.dts          |   6 +-
 arch/arm64/boot/dts/renesas/r8a779a0.dtsi          |   5 +-
 arch/arm64/boot/dts/renesas/r8a779f0.dtsi          |   5 +-
 arch/arm64/boot/dts/renesas/r8a779g0.dtsi          |   5 +-
 arch/arm64/boot/dts/renesas/r8a779h0.dtsi          |   1 -
 arch/arm64/boot/dts/renesas/r9a07g043u.dtsi        |   5 +-
 arch/arm64/boot/dts/renesas/r9a07g044.dtsi         |   5 +-
 arch/arm64/boot/dts/renesas/r9a07g054.dtsi         |   5 +-
 arch/arm64/boot/dts/renesas/r9a08g045.dtsi         |   5 +-
 arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts  |  71 +-
 arch/arm64/boot/dts/rockchip/rk3328.dtsi           |   4 +-
 arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts     |   2 +-
 arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts   |   2 +-
 .../boot/dts/rockchip/rk3568-fastrhino-r66s.dts    |   4 +
 .../boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi   |  48 +-
 .../boot/dts/rockchip/rk3568-fastrhino-r68s.dts    |  16 +-
 arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts    |   4 -
 arch/arm64/boot/dts/rockchip/rk356x.dtsi           |   1 +
 arch/arm64/boot/dts/ti/k3-am62-main.dtsi           |   4 +-
 arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi         |   4 -
 arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts     |   2 -
 .../boot/dts/ti/k3-am625-phyboard-lyra-rdk.dts     |   2 -
 arch/arm64/boot/dts/ti/k3-am62a-main.dtsi          |   4 +-
 arch/arm64/boot/dts/ti/k3-am62a7-sk.dts            |   2 -
 arch/arm64/boot/dts/ti/k3-am62p-main.dtsi          |   4 +-
 arch/arm64/boot/dts/ti/k3-am62p5-sk.dts            |   4 +-
 arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi     |   2 -
 arch/arm64/boot/dts/ti/k3-am642-hummingboard-t.dts |   1 -
 arch/arm64/boot/dts/ti/k3-j722s.dtsi               |   8 +
 arch/arm64/include/asm/pgtable.h                   |  22 +
 arch/arm64/kernel/smp.c                            |   6 +-
 arch/arm64/net/bpf_jit_comp.c                      |   4 +-
 arch/loongarch/kernel/hw_breakpoint.c              |   2 +-
 arch/loongarch/kernel/ptrace.c                     |   3 +
 arch/m68k/amiga/config.c                           |   9 +
 arch/m68k/atari/ataints.c                          |   6 +-
 arch/m68k/include/asm/cmpxchg.h                    |   2 +-
 arch/mips/Makefile                                 |   2 +-
 arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi |  21 +-
 arch/mips/include/asm/mach-loongson64/boot_param.h |   2 +
 arch/mips/include/asm/mips-cm.h                    |   4 +
 arch/mips/kernel/smp-cps.c                         |   5 +-
 arch/mips/loongson64/env.c                         |   8 +
 arch/mips/loongson64/reset.c                       |  38 +-
 arch/mips/loongson64/smp.c                         |  23 +-
 arch/mips/pci/pcie-octeon.c                        |   0
 arch/mips/sgi-ip30/ip30-console.c                  |   1 +
 arch/parisc/Kconfig                                |   1 +
 arch/powerpc/configs/85xx-hw.config                |   2 +
 arch/powerpc/include/asm/guest-state-buffer.h      |   3 +-
 arch/powerpc/include/asm/kvm_book3s.h              |   1 +
 arch/powerpc/kernel/prom.c                         |  12 +-
 arch/powerpc/kexec/core_64.c                       |  55 +-
 arch/powerpc/kvm/book3s_hv.c                       |   9 +-
 arch/powerpc/kvm/book3s_hv_nestedv2.c              |   7 +
 arch/powerpc/kvm/powerpc.c                         |   4 +-
 arch/powerpc/kvm/test-guest-state-buffer.c         |   2 +-
 arch/powerpc/mm/nohash/8xx.c                       |   3 +-
 arch/powerpc/xmon/ppc-dis.c                        |  33 +-
 arch/riscv/kernel/head.S                           |  19 +-
 arch/riscv/kernel/smpboot.c                        |  14 +-
 arch/riscv/net/bpf_jit_comp64.c                    |  18 +-
 arch/s390/kernel/perf_cpum_cf.c                    |  14 +-
 arch/s390/kernel/setup.c                           |   2 +-
 arch/s390/kernel/uv.c                              |   8 +
 arch/s390/kvm/kvm-s390.c                           |   3 +
 arch/s390/pci/pci_irq.c                            | 110 ++--
 arch/sparc/include/asm/oplib_64.h                  |   1 +
 arch/sparc/prom/init_64.c                          |   3 -
 arch/sparc/prom/p1275.c                            |   2 +-
 arch/um/drivers/ubd_kern.c                         |  50 +-
 arch/um/kernel/time.c                              |   4 +-
 arch/um/os-Linux/signal.c                          | 118 +++-
 arch/x86/Kconfig.assembler                         |   2 +-
 arch/x86/Makefile.um                               |   1 +
 arch/x86/entry/syscall_32.c                        |  10 +-
 arch/x86/entry/syscall_64.c                        |   9 +-
 arch/x86/entry/syscall_x32.c                       |   7 +-
 arch/x86/entry/syscalls/syscall_32.tbl             |   6 +-
 arch/x86/entry/syscalls/syscall_64.tbl             |   6 +-
 arch/x86/events/amd/uncore.c                       |  28 +-
 arch/x86/events/core.c                             |   3 +
 arch/x86/events/intel/cstate.c                     |   7 +-
 arch/x86/events/intel/ds.c                         |   8 +-
 arch/x86/events/intel/pt.c                         |   4 +-
 arch/x86/events/intel/pt.h                         |   4 +-
 arch/x86/events/intel/uncore_snbep.c               |   6 +-
 arch/x86/include/asm/kvm-x86-ops.h                 |   1 -
 arch/x86/include/asm/kvm_host.h                    |   3 +-
 arch/x86/include/asm/shstk.h                       |   2 +
 arch/x86/kernel/devicetree.c                       |   2 +-
 arch/x86/kernel/shstk.c                            |  11 +
 arch/x86/kernel/uprobes.c                          |   7 +-
 arch/x86/kvm/vmx/main.c                            |   1 -
 arch/x86/kvm/vmx/nested.c                          |  47 +-
 arch/x86/kvm/vmx/posted_intr.h                     |  10 +
 arch/x86/kvm/vmx/vmx.c                             |  31 +-
 arch/x86/kvm/vmx/vmx.h                             |   1 +
 arch/x86/kvm/vmx/x86_ops.h                         |   1 -
 arch/x86/kvm/x86.c                                 |  14 +-
 arch/x86/pci/intel_mid_pci.c                       |   4 +-
 arch/x86/pci/xen.c                                 |   4 +-
 arch/x86/platform/intel/iosf_mbi.c                 |   4 +-
 arch/x86/um/sys_call_table_32.c                    |  10 +-
 arch/x86/um/sys_call_table_64.c                    |  11 +-
 arch/x86/virt/svm/sev.c                            |  44 +-
 arch/x86/xen/p2m.c                                 |   4 +-
 block/bio-integrity.c                              |  11 +-
 block/blk-mq.c                                     |  32 +-
 block/genhd.c                                      |   2 +-
 block/mq-deadline.c                                |  20 +-
 drivers/android/binder.c                           |   4 +-
 drivers/ata/libata-scsi.c                          | 176 ++---
 drivers/auxdisplay/ht16k33.c                       |   1 +
 drivers/base/devres.c                              |  11 +-
 drivers/block/null_blk/main.c                      |   2 +-
 drivers/block/rbd.c                                |  35 +-
 drivers/block/ublk_drv.c                           |   5 +-
 drivers/block/xen-blkfront.c                       |  16 +-
 drivers/bluetooth/btintel.c                        | 119 +---
 drivers/bluetooth/btintel_pcie.c                   |   6 +
 drivers/bluetooth/btnxpuart.c                      |  52 +-
 drivers/bluetooth/btusb.c                          |   4 +
 drivers/bluetooth/hci_bcm4377.c                    |   2 +-
 drivers/bus/mhi/ep/main.c                          |  14 +-
 drivers/char/hw_random/amd-rng.c                   |   4 +-
 drivers/char/hw_random/core.c                      |   4 +-
 drivers/char/ipmi/ssif_bmc.c                       |   6 +-
 drivers/char/tpm/eventlog/common.c                 |   2 +
 drivers/char/tpm/tpm_tis_spi_main.c                |   1 +
 drivers/clk/clk-en7523.c                           |   9 +-
 drivers/clk/davinci/da8xx-cfgchip.c                |   4 +-
 drivers/clk/meson/s4-peripherals.c                 |   2 +-
 drivers/clk/meson/s4-pll.c                         |   5 +
 drivers/clk/qcom/camcc-sc7280.c                    |   5 +
 drivers/clk/qcom/clk-rcg2.c                        |  32 +
 drivers/clk/qcom/gcc-sa8775p.c                     |  40 ++
 drivers/clk/qcom/gcc-sc7280.c                      |   3 +
 drivers/clk/qcom/gcc-x1e80100.c                    |  46 +-
 drivers/clk/qcom/gpucc-sa8775p.c                   |  41 +-
 drivers/clk/qcom/gpucc-sm8350.c                    |   5 +-
 drivers/clk/qcom/kpss-xcc.c                        |   4 +-
 drivers/clk/samsung/clk-exynos4.c                  |  13 +-
 drivers/cpufreq/amd-pstate-ut.c                    |  12 +-
 drivers/cpufreq/amd-pstate.c                       |  43 +-
 drivers/cpufreq/qcom-cpufreq-nvmem.c               |  13 +-
 drivers/cpufreq/sun50i-cpufreq-nvmem.c             |   4 +-
 drivers/cpufreq/ti-cpufreq.c                       |   2 +-
 drivers/crypto/atmel-sha204a.c                     |   2 +-
 drivers/crypto/ccp/sev-dev.c                       |   8 +-
 drivers/crypto/intel/qat/qat_common/adf_cfg.c      |   6 +-
 drivers/crypto/mxs-dcp.c                           |   3 +-
 drivers/crypto/tegra/tegra-se-main.c               |   1 -
 drivers/dma/fsl-edma-common.c                      |   3 +
 drivers/dma/fsl-edma-common.h                      |   1 +
 drivers/dma/fsl-edma-main.c                        |   2 +-
 drivers/dma/ti/k3-udma.c                           |   4 +-
 drivers/edac/Makefile                              |  10 +-
 drivers/edac/skx_common.c                          |  21 +-
 drivers/edac/skx_common.h                          |   4 +-
 drivers/firmware/efi/libstub/screen_info.c         |   2 +
 drivers/firmware/efi/libstub/x86-stub.c            |  25 +-
 drivers/firmware/turris-mox-rwtm.c                 |  23 +-
 drivers/gpu/drm/Kconfig                            |   3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c         |   2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c            |   5 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c            |   1 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c             |   9 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c              |   2 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c             |  12 +
 drivers/gpu/drm/amd/amdgpu/smu_v13_0_10.c          |   2 +-
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c              |   6 +
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c            |   6 +
 drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c            |   6 +
 drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c    |   2 +-
 drivers/gpu/drm/amd/display/dc/core/dc_surface.c   |   3 +-
 drivers/gpu/drm/amd/display/dc/dc.h                |   1 +
 .../drm/amd/display/dc/dml2/dml2_mall_phantom.c    |   2 +
 .../amd/display/dc/dml2/dml2_translation_helper.c  |  56 +-
 .../gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.c |  15 +-
 .../gpu/drm/amd/display/dc/optc/dcn20/dcn20_optc.c |  10 +
 .../amd/display/dc/resource/dcn32/dcn32_resource.c |  12 +-
 .../display/dc/resource/dcn321/dcn321_resource.c   |  12 +-
 .../gpu/drm/amd/display/include/grph_object_id.h   |   4 +-
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c     |   4 +-
 drivers/gpu/drm/arm/display/komeda/komeda_crtc.c   |  43 +-
 drivers/gpu/drm/bridge/adv7511/adv7511.h           |   2 +-
 drivers/gpu/drm/bridge/adv7511/adv7511_cec.c       |  13 +-
 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c       |  22 +-
 drivers/gpu/drm/bridge/ite-it6505.c                |  81 ++-
 drivers/gpu/drm/bridge/samsung-dsim.c              |   4 +-
 drivers/gpu/drm/display/drm_dp_mst_topology.c      |   4 +-
 drivers/gpu/drm/drm_fbdev_dma.c                    |   3 +-
 drivers/gpu/drm/drm_panic.c                        |  70 +-
 drivers/gpu/drm/etnaviv/etnaviv_gem.c              |   6 +-
 drivers/gpu/drm/etnaviv/etnaviv_sched.c            |   9 +-
 drivers/gpu/drm/gma500/cdv_intel_lvds.c            |   3 +
 drivers/gpu/drm/gma500/psb_intel_lvds.c            |   3 +
 .../gpu/drm/i915/display/intel_crtc_state_dump.c   |   7 +-
 drivers/gpu/drm/i915/display/intel_display.c       |   6 +-
 drivers/gpu/drm/i915/display/intel_display_types.h |   2 +-
 drivers/gpu/drm/i915/display/intel_dp.c            |   4 +-
 .../gpu/drm/i915/display/intel_dp_link_training.c  |  55 +-
 drivers/gpu/drm/i915/display/intel_fbc.c           |   2 +-
 drivers/gpu/drm/i915/display/intel_psr.c           |  36 +-
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |   6 +-
 drivers/gpu/drm/mediatek/mtk_ddp_comp.c            | 107 +--
 drivers/gpu/drm/mediatek/mtk_ddp_comp.h            |   8 +-
 drivers/gpu/drm/mediatek/mtk_disp_ovl.c            |  41 +-
 drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c    |   2 +-
 drivers/gpu/drm/mediatek/mtk_dp.c                  |  10 +-
 drivers/gpu/drm/mediatek/mtk_dpi.c                 |   5 +-
 drivers/gpu/drm/mediatek/mtk_drm_drv.c             |  24 +
 drivers/gpu/drm/mediatek/mtk_drm_drv.h             |   4 +
 drivers/gpu/drm/mediatek/mtk_dsi.c                 |   5 +-
 drivers/gpu/drm/mediatek/mtk_ethdr.c               |  21 +-
 drivers/gpu/drm/mediatek/mtk_plane.c               |   4 +-
 drivers/gpu/drm/meson/meson_drv.c                  |  37 +-
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c              |   2 +-
 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c        |  13 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c        |   7 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h   |   5 +
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c   |  32 +-
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c   |  13 +-
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c    |  14 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c     |   6 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h         |   3 +-
 drivers/gpu/drm/msm/dp/dp_aux.c                    |   5 +-
 drivers/gpu/drm/msm/dsi/dsi_host.c                 |   6 +-
 drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c     |   8 +-
 drivers/gpu/drm/panel/panel-himax-hx8394.c         |   3 +-
 drivers/gpu/drm/panel/panel-ilitek-ili9882t.c      |   8 +-
 drivers/gpu/drm/panel/panel-lg-sw43408.c           |  33 +-
 drivers/gpu/drm/panfrost/panfrost_drv.c            |   1 +
 drivers/gpu/drm/panthor/panthor_sched.c            |   1 +
 drivers/gpu/drm/qxl/qxl_display.c                  |  17 +-
 drivers/gpu/drm/qxl/qxl_object.c                   |  13 +-
 drivers/gpu/drm/qxl/qxl_object.h                   |   4 +-
 drivers/gpu/drm/rockchip/rockchip_drm_vop2.c       |   2 +-
 drivers/gpu/drm/ttm/tests/ttm_bo_test.c            |  48 +-
 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c      |   7 +-
 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h      |   3 +-
 drivers/gpu/drm/ttm/tests/ttm_pool_test.c          |   4 +-
 drivers/gpu/drm/ttm/tests/ttm_resource_test.c      |   2 +-
 drivers/gpu/drm/ttm/tests/ttm_tt_test.c            |  20 +-
 drivers/gpu/drm/udl/udl_modeset.c                  |   3 +-
 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c           |  12 +-
 drivers/gpu/drm/xe/xe_bo.c                         |  47 +-
 drivers/gpu/drm/xe/xe_bo_types.h                   |   3 +-
 drivers/gpu/drm/xe/xe_exec.c                       |  14 +-
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c         |   1 +
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c                |   1 +
 drivers/gpu/drm/xlnx/zynqmp_kms.c                  |  12 +-
 drivers/hwmon/adt7475.c                            |   2 +-
 drivers/hwmon/ltc2991.c                            |   4 +-
 drivers/hwmon/max6697.c                            |   5 +-
 drivers/hwtracing/coresight/coresight-platform.c   |   4 +-
 drivers/i3c/master/mipi-i3c-hci/core.c             |   8 +
 drivers/iio/adc/ad9467.c                           |  65 +-
 drivers/iio/adc/adi-axi-adc.c                      |   2 +
 drivers/iio/frequency/adrf6780.c                   |   1 -
 drivers/iio/industrialio-gts-helper.c              |   7 +-
 drivers/infiniband/core/cache.c                    |  14 +-
 drivers/infiniband/core/device.c                   |  14 +-
 drivers/infiniband/core/iwcm.c                     |  11 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           |   8 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.h           |   6 +-
 drivers/infiniband/hw/hns/hns_roce_device.h        |   7 +
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         | 164 +++--
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |   6 +
 drivers/infiniband/hw/hns/hns_roce_mr.c            |   5 +
 drivers/infiniband/hw/hns/hns_roce_qp.c            |   4 +-
 drivers/infiniband/hw/hns/hns_roce_srq.c           |   2 +-
 drivers/infiniband/hw/mana/device.c                |  16 +-
 drivers/infiniband/hw/mlx4/alias_GUID.c            |   2 +-
 drivers/infiniband/hw/mlx4/mad.c                   |   2 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |  13 +
 drivers/infiniband/hw/mlx5/odp.c                   |   6 +-
 drivers/infiniband/sw/rxe/rxe_req.c                |   7 +-
 drivers/input/keyboard/qt1050.c                    |   7 +-
 drivers/input/mouse/elan_i2c_core.c                |   2 +
 drivers/interconnect/qcom/qcm2290.c                |   2 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c        |   2 +-
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c   |  17 +-
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c         |  39 ++
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.h         |   2 +
 drivers/iommu/intel/cache.c                        |   3 +-
 drivers/iommu/intel/iommu.c                        |   2 +-
 drivers/iommu/iommufd/iova_bitmap.c                |   5 +-
 drivers/iommu/iommufd/selftest.c                   |   2 +-
 drivers/iommu/sprd-iommu.c                         |   2 +-
 drivers/irqchip/irq-imx-irqsteer.c                 |  24 +-
 drivers/isdn/hardware/mISDN/hfcmulti.c             |   7 +-
 drivers/leds/flash/leds-mt6360.c                   |   5 +-
 drivers/leds/flash/leds-qcom-flash.c               |  10 +-
 drivers/leds/led-class.c                           |   1 -
 drivers/leds/led-triggers.c                        |   8 +-
 drivers/leds/leds-ss4200.c                         |   7 +-
 drivers/leds/rgb/leds-qcom-lpg.c                   |   8 +-
 drivers/leds/trigger/ledtrig-timer.c               |   5 -
 drivers/macintosh/therm_windtunnel.c               |   2 +-
 drivers/mailbox/imx-mailbox.c                      |  10 +-
 drivers/mailbox/mtk-cmdq-mailbox.c                 |  12 +-
 drivers/mailbox/omap-mailbox.c                     |   3 +-
 drivers/md/dm-raid.c                               |   7 +-
 drivers/md/dm-table.c                              |  15 +-
 drivers/md/dm-verity-target.c                      |  16 +-
 drivers/md/dm-zone.c                               |  25 +-
 drivers/md/dm.h                                    |   1 +
 drivers/md/md-bitmap.c                             |   6 +-
 drivers/md/md-cluster.c                            |  22 +-
 drivers/md/md.c                                    |  32 +-
 drivers/md/raid0.c                                 |  21 +-
 drivers/md/raid1.c                                 |  15 +-
 drivers/md/raid5.c                                 |  76 ++-
 drivers/media/i2c/Kconfig                          |   1 +
 drivers/media/i2c/alvium-csi2.c                    |   6 +-
 drivers/media/i2c/hi846.c                          |   2 +-
 drivers/media/i2c/imx219.c                         |   2 +-
 drivers/media/i2c/imx412.c                         |   9 +-
 drivers/media/pci/intel/ivsc/mei_csi.c             |  14 +-
 drivers/media/pci/ivtv/ivtv-udma.c                 |   8 +
 drivers/media/pci/ivtv/ivtv-yuv.c                  |   6 +
 drivers/media/pci/ivtv/ivtvfb.c                    |   6 +-
 drivers/media/pci/saa7134/saa7134-dvb.c            |   8 +-
 .../mediatek/vcodec/decoder/vdec/vdec_vp8_if.c     |   2 +-
 .../platform/mediatek/vcodec/decoder/vdec_vpu_if.c |   6 +
 drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c     |   3 +
 drivers/media/platform/nxp/imx-pxp.c               |   3 +
 drivers/media/platform/qcom/venus/vdec.c           |   3 +-
 drivers/media/platform/renesas/rcar-csi2.c         |   5 +-
 drivers/media/platform/renesas/rcar-vin/rcar-dma.c |  16 +-
 drivers/media/platform/renesas/vsp1/vsp1_histo.c   |  20 +-
 drivers/media/platform/renesas/vsp1/vsp1_pipe.h    |   2 +-
 drivers/media/platform/renesas/vsp1/vsp1_rpf.c     |   8 +-
 .../platform/st/sti/c8sectpfe/c8sectpfe-debugfs.h  |   4 +-
 .../platform/st/stm32/stm32-dcmipp/dcmipp-core.c   |   4 +-
 drivers/media/rc/imon.c                            |   5 +-
 drivers/media/rc/lirc_dev.c                        |   4 +-
 drivers/media/usb/dvb-usb/dvb-usb-init.c           |  35 +-
 drivers/media/usb/uvc/uvc_ctrl.c                   |   9 +-
 drivers/media/usb/uvc/uvc_driver.c                 |  12 +-
 drivers/media/usb/uvc/uvc_video.c                  |  21 +-
 drivers/media/usb/uvc/uvcvideo.h                   |   1 +
 drivers/media/v4l2-core/v4l2-async.c               |   3 +
 drivers/memory/Kconfig                             |   2 +-
 drivers/mfd/Makefile                               |   6 +-
 drivers/mfd/omap-usb-tll.c                         |   3 +-
 drivers/mfd/rsmu_core.c                            |   2 +
 drivers/misc/eeprom/ee1004.c                       |   6 +-
 drivers/mtd/nand/raw/Kconfig                       |   3 +-
 drivers/mtd/spi-nor/winbond.c                      |   2 +
 drivers/mtd/tests/Makefile                         |  34 +-
 drivers/mtd/tests/mtd_test.c                       |   9 +
 drivers/mtd/ubi/eba.c                              |   3 +-
 drivers/net/bonding/bond_main.c                    |   7 +-
 drivers/net/dsa/b53/b53_common.c                   |   3 +
 drivers/net/dsa/microchip/ksz_common.c             |   7 +
 drivers/net/dsa/mv88e6xxx/chip.c                   |   3 +-
 drivers/net/ethernet/brocade/bna/bna_types.h       |   2 +-
 drivers/net/ethernet/brocade/bna/bnad.c            |  11 +-
 drivers/net/ethernet/cortina/gemini.c              |  23 +-
 drivers/net/ethernet/freescale/fec_main.c          |   6 +
 drivers/net/ethernet/google/gve/gve_tx.c           |   5 +-
 drivers/net/ethernet/google/gve/gve_tx_dqo.c       |  22 +-
 drivers/net/ethernet/hisilicon/hns3/Makefile       |  11 +-
 .../hisilicon/hns3/hns3_common/hclge_comm_cmd.c    |  11 +
 .../hisilicon/hns3/hns3_common/hclge_comm_rss.c    |  14 +
 .../hns3/hns3_common/hclge_comm_tqp_stats.c        |   5 +
 drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c  |   2 +-
 drivers/net/ethernet/intel/ice/ice_fdir.h          |   3 +
 drivers/net/ethernet/intel/ice/ice_switch.c        |   8 +-
 drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c |  16 +
 drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.h |   1 +
 drivers/net/ethernet/mediatek/mtk_eth_soc.c        |   3 +-
 .../ethernet/mellanox/mlxsw/spectrum_acl_atcam.c   |  18 +-
 .../mellanox/mlxsw/spectrum_acl_bloom_filter.c     |   2 +-
 .../net/ethernet/mellanox/mlxsw/spectrum_acl_erp.c |  13 -
 .../ethernet/mellanox/mlxsw/spectrum_acl_tcam.h    |   9 +-
 drivers/net/ethernet/microsoft/mana/mana_en.c      |  19 +
 drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c  |   2 +-
 .../net/ethernet/stmicro/stmmac/dwxgmac2_core.c    |   2 +-
 drivers/net/ethernet/stmicro/stmmac/hwif.h         |   2 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |   4 +-
 drivers/net/netconsole.c                           |   2 +-
 drivers/net/pse-pd/pse_core.c                      |   4 +-
 drivers/net/virtio_net.c                           |   8 +-
 drivers/net/wireless/ath/ath11k/ce.h               |   6 +-
 drivers/net/wireless/ath/ath11k/core.c             |  29 +-
 drivers/net/wireless/ath/ath11k/dp_rx.c            |   3 +-
 drivers/net/wireless/ath/ath11k/dp_rx.h            |   3 +
 drivers/net/wireless/ath/ath11k/mac.c              |  28 +-
 drivers/net/wireless/ath/ath11k/reg.c              |  14 +-
 drivers/net/wireless/ath/ath11k/reg.h              |   4 +-
 drivers/net/wireless/ath/ath12k/acpi.c             |   2 +
 drivers/net/wireless/ath/ath12k/ce.h               |   6 +-
 drivers/net/wireless/ath/ath12k/core.c             |   7 +-
 drivers/net/wireless/ath/ath12k/dp.c               |  18 +-
 drivers/net/wireless/ath/ath12k/dp.h               |   1 +
 drivers/net/wireless/ath/ath12k/dp_rx.c            |  67 +-
 drivers/net/wireless/ath/ath12k/dp_tx.c            |  47 +-
 drivers/net/wireless/ath/ath12k/hal_desc.h         |  48 +-
 drivers/net/wireless/ath/ath12k/hw.c               |   8 +-
 drivers/net/wireless/ath/ath12k/hw.h               |   3 +-
 drivers/net/wireless/ath/ath12k/mac.c              |  17 +-
 drivers/net/wireless/ath/ath12k/wmi.c              |  23 +-
 drivers/net/wireless/ath/ath12k/wmi.h              |  12 +-
 .../broadcom/brcm80211/brcmsmac/phy/phy_lcn.c      |  18 +-
 drivers/net/wireless/intel/iwlwifi/mvm/link.c      |   9 +
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c  |  10 +-
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h       |   9 +-
 .../net/wireless/intel/iwlwifi/mvm/time-event.c    |   5 +-
 drivers/net/wireless/marvell/mwifiex/cfg80211.c    |   2 +
 drivers/net/wireless/realtek/rtl8xxxu/8188f.c      |  15 +
 drivers/net/wireless/realtek/rtw88/mac.c           |   9 +
 drivers/net/wireless/realtek/rtw88/main.h          |   2 +
 drivers/net/wireless/realtek/rtw88/reg.h           |   1 +
 drivers/net/wireless/realtek/rtw88/rtw8703b.c      |   1 +
 drivers/net/wireless/realtek/rtw88/rtw8723d.c      |   1 +
 drivers/net/wireless/realtek/rtw88/rtw8821c.c      |   1 +
 drivers/net/wireless/realtek/rtw88/rtw8822b.c      |   1 +
 drivers/net/wireless/realtek/rtw88/rtw8822c.c      |   1 +
 drivers/net/wireless/realtek/rtw88/usb.c           |   6 +-
 drivers/net/wireless/realtek/rtw89/debug.c         |   2 +-
 drivers/net/wireless/realtek/rtw89/fw.c            |  13 +-
 drivers/net/wireless/realtek/rtw89/mac.c           |   5 +-
 drivers/net/wireless/realtek/rtw89/pci.c           |  23 +-
 drivers/net/wireless/realtek/rtw89/rtw8852b.c      |   6 +-
 drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c  |   2 +-
 drivers/net/wireless/virtual/virt_wifi.c           |  20 +-
 drivers/nvme/host/pci.c                            |   5 +-
 drivers/nvme/target/auth.c                         |  14 +-
 drivers/nvmem/rockchip-otp.c                       |   1 +
 drivers/opp/core.c                                 |   6 +-
 drivers/opp/ti-opp-supply.c                        |   6 +-
 drivers/parport/procfs.c                           |  24 +-
 drivers/pci/controller/dwc/pci-keystone.c          | 156 +++--
 drivers/pci/controller/dwc/pcie-designware-ep.c    |  13 +-
 drivers/pci/controller/dwc/pcie-dw-rockchip.c      |   2 +-
 drivers/pci/controller/dwc/pcie-qcom-ep.c          |   6 -
 drivers/pci/controller/dwc/pcie-tegra194.c         |   1 +
 drivers/pci/controller/pci-hyperv.c                |   4 +-
 drivers/pci/controller/pci-loongson.c              |  13 +
 drivers/pci/controller/pcie-rcar-host.c            |   6 +-
 drivers/pci/controller/pcie-rockchip.c             |   2 +-
 drivers/pci/endpoint/functions/pci-epf-test.c      |  14 +-
 drivers/pci/endpoint/functions/pci-epf-vntb.c      |  19 +-
 drivers/pci/pci.c                                  |   6 +-
 drivers/pci/setup-bus.c                            |   6 +-
 drivers/perf/arm_pmuv3.c                           |  10 +-
 drivers/phy/cadence/phy-cadence-torrent.c          |   3 +
 drivers/phy/qualcomm/phy-qcom-qmp-pcie.c           |   9 +-
 drivers/phy/rockchip/Kconfig                       |   2 +
 drivers/phy/xilinx/phy-zynqmp.c                    |  14 +-
 drivers/pinctrl/core.c                             |  12 +-
 drivers/pinctrl/freescale/pinctrl-mxs.c            |   4 +-
 drivers/pinctrl/pinctrl-rockchip.c                 |  17 +-
 drivers/pinctrl/pinctrl-single.c                   |   7 +-
 drivers/pinctrl/renesas/pfc-r8a779g0.c             | 716 ++++++++++-----------
 drivers/pinctrl/ti/pinctrl-ti-iodelay.c            |  11 +-
 drivers/platform/Makefile                          |   2 +-
 drivers/platform/chrome/cros_ec_debugfs.c          |   1 +
 drivers/platform/mips/cpu_hwmon.c                  |   3 +
 drivers/platform/x86/asus-wmi.c                    |   6 +-
 drivers/power/supply/ab8500_charger.c              |  16 +-
 drivers/power/supply/ingenic-battery.c             |  10 +-
 drivers/pwm/pwm-atmel-tcb.c                        |  12 +-
 drivers/pwm/pwm-stm32.c                            |   5 +-
 drivers/remoteproc/imx_rproc.c                     |  10 +-
 drivers/remoteproc/mtk_scp.c                       |  21 +-
 drivers/remoteproc/stm32_rproc.c                   |   2 +-
 drivers/remoteproc/ti_k3_r5_remoteproc.c           |  13 +-
 drivers/rtc/interface.c                            |   9 +-
 drivers/rtc/rtc-abx80x.c                           |  12 +-
 drivers/rtc/rtc-cmos.c                             |  10 +-
 drivers/rtc/rtc-isl1208.c                          |  11 +-
 drivers/rtc/rtc-tps6594.c                          |   4 -
 drivers/s390/block/dasd_devmap.c                   |  10 +-
 drivers/scsi/lpfc/lpfc_attr.c                      |   5 +
 drivers/scsi/lpfc/lpfc_hbadisc.c                   |   2 +-
 drivers/scsi/lpfc/lpfc_sli.c                       |  19 +-
 drivers/scsi/qla2xxx/qla_bsg.c                     |  98 +--
 drivers/scsi/qla2xxx/qla_def.h                     |  17 +-
 drivers/scsi/qla2xxx/qla_gbl.h                     |   6 +-
 drivers/scsi/qla2xxx/qla_gs.c                      | 473 +++++++-------
 drivers/scsi/qla2xxx/qla_init.c                    |  92 ++-
 drivers/scsi/qla2xxx/qla_inline.h                  |   8 +
 drivers/scsi/qla2xxx/qla_mid.c                     |   2 +-
 drivers/scsi/qla2xxx/qla_nvme.c                    |   5 +-
 drivers/scsi/qla2xxx/qla_os.c                      |  19 +-
 drivers/scsi/qla2xxx/qla_sup.c                     | 108 +++-
 drivers/scsi/sr_ioctl.c                            |   2 +-
 drivers/soc/mediatek/mtk-mutex.c                   |   1 +
 drivers/soc/qcom/icc-bwmon.c                       |   4 +-
 drivers/soc/qcom/pdr_interface.c                   |   8 +-
 drivers/soc/qcom/pmic_glink.c                      |  13 +-
 drivers/soc/qcom/rpmh-rsc.c                        |   7 +-
 drivers/soc/qcom/rpmh.c                            |   1 -
 drivers/soc/qcom/socinfo.c                         |   3 +-
 drivers/soc/xilinx/xlnx_event_manager.c            |  15 +-
 drivers/soc/xilinx/zynqmp_power.c                  |   4 +-
 drivers/spi/atmel-quadspi.c                        |  11 +-
 drivers/spi/spi-microchip-core.c                   | 139 ++--
 drivers/spi/spidev.c                               |   1 +
 drivers/thermal/broadcom/bcm2835_thermal.c         |  19 +-
 drivers/thermal/thermal_core.c                     |  89 ++-
 drivers/thermal/thermal_core.h                     |  10 +-
 drivers/ufs/core/ufs-mcq.c                         |  10 +-
 drivers/usb/host/xhci-pci.c                        |   4 +-
 drivers/usb/typec/mux/nb7vpq904m.c                 |   7 +-
 drivers/usb/typec/mux/ptn36502.c                   |  11 +-
 drivers/vhost/vsock.c                              |   4 +-
 drivers/video/fbdev/vesafb.c                       |   2 +-
 drivers/watchdog/rzg2l_wdt.c                       |  22 +-
 fs/btrfs/compression.c                             |   2 +-
 fs/ceph/super.c                                    |   3 +-
 fs/erofs/zutil.c                                   |   3 +
 fs/exfat/dir.c                                     |   2 +-
 fs/ext2/balloc.c                                   |  11 +-
 fs/ext4/extents_status.c                           |   2 +
 fs/ext4/fast_commit.c                              |   6 +
 fs/ext4/namei.c                                    |  73 ++-
 fs/ext4/xattr.c                                    |   6 +
 fs/f2fs/checkpoint.c                               |  10 +-
 fs/f2fs/data.c                                     |  10 +-
 fs/f2fs/f2fs.h                                     |  19 +-
 fs/f2fs/file.c                                     |  47 +-
 fs/f2fs/gc.c                                       |  13 +-
 fs/f2fs/inline.c                                   |   8 +-
 fs/f2fs/inode.c                                    |  14 +-
 fs/f2fs/segment.c                                  |   6 +-
 fs/f2fs/segment.h                                  |   3 +-
 fs/fuse/inode.c                                    |  24 +-
 fs/hfs/inode.c                                     |   3 +
 fs/hfsplus/bfind.c                                 |  15 +-
 fs/hfsplus/extents.c                               |   9 +-
 fs/hfsplus/hfsplus_fs.h                            |  21 +
 fs/hostfs/hostfs.h                                 |   7 +-
 fs/hostfs/hostfs_kern.c                            |  10 +-
 fs/hostfs/hostfs_user.c                            |   7 +-
 fs/jbd2/commit.c                                   |   2 +-
 fs/jbd2/journal.c                                  |  56 +-
 fs/jbd2/transaction.c                              |  45 +-
 fs/jfs/jfs_imap.c                                  |   5 +-
 fs/netfs/write_issue.c                             |   1 +
 fs/nfs/file.c                                      |   5 +-
 fs/nfs/nfs4client.c                                |   6 +-
 fs/nfs/nfs4proc.c                                  |   2 +-
 fs/nfs/nfstrace.h                                  |  36 +-
 fs/nfs/read.c                                      |   8 +-
 fs/nfs/write.c                                     |  10 +-
 fs/nfsd/Kconfig                                    |   2 +-
 fs/nfsd/filecache.c                                |   2 +-
 fs/nfsd/nfs4proc.c                                 |   5 +-
 fs/nfsd/nfs4recover.c                              |   4 +-
 fs/nilfs2/btnode.c                                 |  25 +-
 fs/nilfs2/btree.c                                  |   4 +-
 fs/nilfs2/segment.c                                |   2 +-
 fs/ntfs3/attrib.c                                  |  30 +-
 fs/ntfs3/bitmap.c                                  |   2 +-
 fs/ntfs3/dir.c                                     |   3 +-
 fs/ntfs3/file.c                                    |   5 +-
 fs/ntfs3/frecord.c                                 |   2 +-
 fs/ntfs3/fslog.c                                   |   5 +-
 fs/ntfs3/index.c                                   |   4 +-
 fs/ntfs3/inode.c                                   |  13 +-
 fs/ntfs3/ntfs.h                                    |  12 +-
 fs/ntfs3/super.c                                   |   4 +-
 fs/proc/proc_sysctl.c                              |   6 +-
 fs/proc/task_mmu.c                                 |  30 +-
 fs/smb/client/cifsfs.c                             |   8 +-
 fs/smb/client/connect.c                            |  24 +-
 fs/super.c                                         |  11 +
 fs/udf/balloc.c                                    |  15 +-
 fs/udf/file.c                                      |   2 +
 fs/udf/inode.c                                     |  11 +-
 fs/udf/namei.c                                     |   2 -
 fs/udf/super.c                                     |   3 +-
 include/asm-generic/vmlinux.lds.h                  |   2 +-
 include/drm/drm_mipi_dsi.h                         |  46 +-
 include/linux/alloc_tag.h                          |   2 +-
 include/linux/bpf_verifier.h                       |   2 +-
 include/linux/firewire.h                           |   5 +-
 include/linux/huge_mm.h                            |  12 +-
 include/linux/hugetlb.h                            |   1 +
 include/linux/interrupt.h                          |   2 +-
 include/linux/jbd2.h                               |  12 +-
 include/linux/lsm_hook_defs.h                      |   1 +
 include/linux/mlx5/qp.h                            |   9 +-
 include/linux/mm.h                                 |  16 +-
 include/linux/objagg.h                             |   1 -
 include/linux/perf_event.h                         |   1 +
 include/linux/pgalloc_tag.h                        |   7 +-
 include/linux/preempt.h                            |  41 ++
 include/linux/sbitmap.h                            |   5 +
 include/linux/sched.h                              |  41 --
 include/linux/screen_info.h                        |  10 +
 include/linux/spinlock.h                           |  14 +-
 include/linux/task_work.h                          |   3 +-
 include/linux/virtio_net.h                         |  11 +
 include/net/bluetooth/hci_core.h                   |   4 -
 include/net/ip6_route.h                            |  22 +-
 include/net/ip_fib.h                               |   1 +
 include/net/mana/mana.h                            |   2 +
 include/net/tcp.h                                  |   1 +
 include/net/xfrm.h                                 |  36 +-
 include/sound/tas2781-dsp.h                        |  11 +-
 include/trace/events/rpcgss.h                      |   2 +-
 include/uapi/drm/xe_drm.h                          |   8 +-
 include/uapi/linux/if_xdp.h                        |   4 +
 include/uapi/linux/netfilter/nf_tables.h           |   2 +-
 include/uapi/linux/zorro_ids.h                     |   3 +
 include/ufs/ufshcd.h                               |   6 +
 io_uring/io-wq.c                                   |  10 +-
 io_uring/io_uring.c                                |   5 +-
 io_uring/napi.c                                    |   2 +
 io_uring/opdef.c                                   |   8 +
 io_uring/opdef.h                                   |   4 +-
 io_uring/register.c                                |   2 +-
 io_uring/timeout.c                                 |   2 +-
 io_uring/uring_cmd.c                               |   2 +-
 kernel/bpf/btf.c                                   |  10 +-
 kernel/bpf/helpers.c                               |   2 +-
 kernel/bpf/verifier.c                              |   5 +-
 kernel/cgroup/cpuset.c                             |  76 ++-
 kernel/debug/kdb/kdb_io.c                          |   6 +-
 kernel/dma/mapping.c                               |   2 +-
 kernel/events/core.c                               |  77 ++-
 kernel/events/internal.h                           |   2 +-
 kernel/events/ring_buffer.c                        |   4 +-
 kernel/irq/irqdomain.c                             |   7 +-
 kernel/irq/manage.c                                |   2 +-
 kernel/jump_label.c                                |  45 +-
 kernel/locking/rwsem.c                             |   6 +-
 kernel/rcu/tasks.h                                 |  10 +
 kernel/sched/core.c                                |  37 +-
 kernel/sched/fair.c                                |   7 +-
 kernel/sched/sched.h                               |   2 +-
 kernel/signal.c                                    |   8 +
 kernel/task_work.c                                 |  34 +-
 kernel/time/tick-broadcast.c                       |  23 +
 kernel/time/timer_migration.c                      |  33 +-
 kernel/time/timer_migration.h                      |  12 +-
 kernel/trace/pid_list.c                            |   4 +-
 kernel/watchdog_perf.c                             |  11 +-
 kernel/workqueue.c                                 |   6 +-
 lib/decompress_bunzip2.c                           |   3 +-
 lib/kobject_uevent.c                               |  17 +-
 lib/objagg.c                                       |  18 +-
 lib/sbitmap.c                                      |  36 +-
 mm/huge_memory.c                                   |  14 +-
 mm/hugetlb.c                                       |  49 +-
 mm/memory.c                                        |   2 +-
 mm/mempolicy.c                                     |  18 +-
 mm/mmap_lock.c                                     | 175 +----
 mm/page_alloc.c                                    |  35 +-
 mm/vmscan.c                                        |  83 ++-
 net/bluetooth/hci_core.c                           |  27 +-
 net/bluetooth/hci_event.c                          |   2 +
 net/bluetooth/hci_sync.c                           |   2 -
 net/bridge/br_forward.c                            |   4 +-
 net/core/filter.c                                  |  15 +-
 net/core/flow_dissector.c                          |   2 +-
 net/core/page_pool.c                               |   2 +-
 net/core/xdp.c                                     |   4 +-
 net/ethtool/pse-pd.c                               |   8 +-
 net/ipv4/esp4.c                                    |   3 +-
 net/ipv4/esp4_offload.c                            |   7 +
 net/ipv4/fib_semantics.c                           |  13 +-
 net/ipv4/fib_trie.c                                |   1 +
 net/ipv4/nexthop.c                                 |   7 +-
 net/ipv4/route.c                                   |  18 +-
 net/ipv4/tcp.c                                     |   8 +-
 net/ipv4/tcp_input.c                               |  32 +-
 net/ipv4/tcp_ipv4.c                                |  11 +-
 net/ipv4/tcp_minisocks.c                           |  15 +-
 net/ipv4/tcp_timer.c                               |   6 +-
 net/ipv6/addrconf.c                                |   3 +-
 net/ipv6/esp6.c                                    |   3 +-
 net/ipv6/esp6_offload.c                            |   7 +
 net/ipv6/ip6_output.c                              |   1 +
 net/ipv6/route.c                                   |   2 +-
 net/ipv6/tcp_ipv6.c                                |  10 +-
 net/mac80211/chan.c                                |  11 +
 net/mac80211/main.c                                |   2 +-
 net/mac80211/mlme.c                                |  15 +-
 net/mac80211/sta_info.h                            |   6 +
 net/mac80211/tx.c                                  |   6 +-
 net/netfilter/ipvs/ip_vs_ctl.c                     |  10 +-
 net/netfilter/ipvs/ip_vs_proto_sctp.c              |   4 +-
 net/netfilter/nf_conntrack_netlink.c               |   3 +-
 net/netfilter/nft_set_pipapo.c                     |   4 +-
 net/netfilter/nft_set_pipapo.h                     |  21 +
 net/netfilter/nft_set_pipapo_avx2.c                |  22 +-
 net/packet/af_packet.c                             |  86 ++-
 net/smc/smc_core.c                                 |   5 +-
 net/sunrpc/auth_gss/gss_krb5_keys.c                |   2 +-
 net/sunrpc/clnt.c                                  |   3 +-
 net/sunrpc/xprtrdma/frwr_ops.c                     |   3 +-
 net/sunrpc/xprtrdma/verbs.c                        |  16 +-
 net/tipc/udp_media.c                               |   5 +-
 net/unix/af_unix.c                                 |  41 +-
 net/unix/unix_bpf.c                                |   3 +
 net/wireless/nl80211.c                             |   3 +
 net/wireless/util.c                                |   8 +-
 net/xdp/xdp_umem.c                                 |   9 +-
 net/xfrm/xfrm_input.c                              |   8 +-
 net/xfrm/xfrm_policy.c                             |   5 +-
 net/xfrm/xfrm_state.c                              |  65 +-
 net/xfrm/xfrm_user.c                               |   1 -
 scripts/Kconfig.include                            |   3 +-
 scripts/Makefile.lib                               |   6 +-
 scripts/gcc-x86_32-has-stack-protector.sh          |   2 +-
 scripts/gcc-x86_64-has-stack-protector.sh          |   2 +-
 scripts/syscalltbl.sh                              |  18 +-
 security/apparmor/lsm.c                            |   7 +
 security/apparmor/policy.c                         |   2 +-
 security/apparmor/policy_unpack.c                  |  43 +-
 security/keys/keyctl.c                             |   2 +-
 security/landlock/cred.c                           |  11 +-
 security/security.c                                |  70 +-
 security/selinux/hooks.c                           |  38 +-
 security/smack/smack_lsm.c                         |  34 +-
 sound/core/ump.c                                   |  13 +
 sound/firewire/amdtp-stream.c                      |   3 +-
 sound/pci/hda/patch_realtek.c                      |   6 +-
 sound/soc/amd/acp-es8336.c                         |   4 +-
 sound/soc/amd/yc/acp6x-mach.c                      |   7 +
 sound/soc/codecs/cs35l56-shared.c                  |   2 +-
 sound/soc/codecs/max98088.c                        |  10 +-
 sound/soc/codecs/pcm6240.c                         |   6 +-
 sound/soc/codecs/tas2781-fmwlib.c                  |  20 +-
 sound/soc/codecs/tas2781-i2c.c                     |  39 +-
 sound/soc/codecs/wcd939x.c                         | 113 ++--
 sound/soc/fsl/fsl_qmc_audio.c                      |   2 +
 sound/soc/intel/common/soc-acpi-intel-ssp-common.c |   9 +
 sound/soc/intel/common/soc-intel-quirks.h          |   2 +-
 sound/soc/qcom/lpass-cpu.c                         |   4 +
 sound/soc/sof/amd/pci-vangogh.c                    |   1 -
 sound/soc/sof/imx/imx8m.c                          |   2 +-
 sound/soc/sof/intel/hda-loader.c                   |  18 +-
 sound/soc/sof/intel/hda.c                          |  17 +-
 sound/soc/sof/ipc4-topology.c                      |  46 +-
 sound/usb/mixer.c                                  |   7 +
 sound/usb/quirks.c                                 |   4 +
 tools/bpf/bpftool/common.c                         |   2 +-
 tools/bpf/bpftool/prog.c                           |   4 +
 tools/bpf/resolve_btfids/main.c                    |   2 +-
 tools/lib/bpf/btf.c                                |   2 +-
 tools/lib/bpf/btf_dump.c                           |   8 +-
 tools/lib/bpf/libbpf_internal.h                    |  10 +-
 tools/lib/bpf/linker.c                             |  11 +-
 tools/memory-model/lock.cat                        |  20 +-
 tools/objtool/noreturns.h                          |   4 +
 tools/perf/arch/powerpc/util/skip-callchain-idx.c  |   8 +-
 tools/perf/arch/x86/util/intel-pt.c                |  15 +-
 tools/perf/tests/shell/test_arm_callgraph_fp.sh    |  27 +-
 tools/perf/tests/workloads/leafloop.c              |  20 +-
 tools/perf/ui/gtk/annotate.c                       |   5 +-
 tools/perf/util/cs-etm.c                           |  10 +-
 tools/perf/util/disasm.c                           |  10 +-
 tools/perf/util/dso.c                              |  14 +-
 tools/perf/util/dso.h                              |  19 +
 tools/perf/util/maps.c                             |   9 +-
 tools/perf/util/pmus.c                             |   5 +-
 tools/perf/util/sort.c                             |   2 +-
 tools/perf/util/srcline.c                          |  12 +-
 tools/perf/util/stat-display.c                     |   3 +
 tools/perf/util/stat-shadow.c                      |   7 +
 tools/perf/util/symbol.c                           |  18 +-
 tools/perf/util/unwind-libdw.c                     |  12 +-
 tools/perf/util/unwind-libunwind-local.c           |  18 +-
 tools/testing/selftests/bpf/bpf_kfuncs.h           |   2 +-
 .../testing/selftests/bpf/prog_tests/bpf_tcp_ca.c  |  16 +-
 .../testing/selftests/bpf/prog_tests/fexit_sleep.c |   8 +-
 tools/testing/selftests/bpf/prog_tests/sk_lookup.c |   2 +-
 .../selftests/bpf/prog_tests/xdp_adjust_tail.c     |   2 +-
 .../bpf/progs/btf_dump_test_case_multidim.c        |   4 +-
 .../bpf/progs/btf_dump_test_case_syntax.c          |   4 +-
 .../bpf/progs/kprobe_multi_session_cookie.c        |   2 +-
 tools/testing/selftests/bpf/test_sockmap.c         |   9 +-
 tools/testing/selftests/damon/access_memory.c      |   2 +-
 .../drivers/net/mlxsw/spectrum-2/tc_flower.sh      |  55 +-
 tools/testing/selftests/iommu/iommufd.c            |  76 ++-
 tools/testing/selftests/iommu/iommufd_utils.h      |   6 +-
 tools/testing/selftests/landlock/base_test.c       |  74 +++
 tools/testing/selftests/landlock/config            |   1 +
 tools/testing/selftests/net/fib_tests.sh           |  24 +-
 .../net/forwarding/bridge_fdb_learning_limit.sh    |  18 +
 .../selftests/net/forwarding/devlink_lib.sh        |   2 +
 tools/testing/selftests/nolibc/nolibc-test.c       |   2 +-
 tools/testing/selftests/resctrl/resctrl_val.c      |  54 +-
 .../selftests/sigaltstack/current_stack_pointer.h  |   2 +-
 858 files changed, 7467 insertions(+), 4533 deletions(-)
maintainer Tested-by on the v1 series
#4 lore raw
In reply to Greg Kroah-Hartman
Quoted 9 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 8 lines
	https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.10.3-rc3.gz

or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.10.y
and the diffstat can be found below.

thanks,

greg k-h

All tests passing for Tegra ...

Test results for stable-v6.10:

    10 builds:	10 pass, 0 fail
    26 boots:	26 pass, 0 fail
    116 tests:	116 pass, 0 fail

Linux version: 6.10.3-rc3-gdf6b86a465e8
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,

                tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000,
                tegra20-ventana, tegra210-p2371-2180,
                tegra210-p3450-0000, tegra30-cardhu-a04

Jon

Tested-by on the v1 series
#5 lore raw
In reply to Greg Kroah-Hartman
Quoted 8 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

Tested on a ThinkPad E14 Gen 3 with a AMD Ryzen 5 5500U CPU

Tested-by on the v1 series
#6 lore raw
In reply to Greg Kroah-Hartman
Quoted 7 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

Hi Greg

6.10.3-rc3 compiles, boots and runs here on x86_64 (AMD Ryzen 5 PRO 4650G, Slackware64-15.0)

Tested-by on the v1 series
#7 lore raw
In reply to Greg Kroah-Hartman

Am 31.07.2024 um 12:03 schrieb Greg Kroah-Hartman:

Quoted 4 lines

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Builds, boots and works on my 2-socket Ivy Bridge Xeon E5-2697 v2 server. No dmesg oddities or regressions found.

Beste Grüße,
Peter Schneider

Signature · 8 lines
Climb the mountain not to plant your flag, but to embrace the challenge,
enjoy the air and behold the view. Climb it so you can see the world,
not so the world can see you.                    -- David McCullough Jr.

OpenPGP:  0xA3828BD796CCE11A8CADE8866E3A92C92C3FF244
Download: https://www.peters-netzplatz.de/download/pschneider1968_pub.asc
https://keys.mailvelope.com/pks/lookup?op=get&[email protected]
https://keys.mailvelope.com/pks/lookup?op=get&[email protected]
Tested-by Linux Kernel Functional Testing on the v1 series
#8 lore raw
In reply to Greg Kroah-Hartman
Quoted 10 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 8 lines
        https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.10.3-rc3.gz

or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.10.y
and the diffstat can be found below.

thanks,

greg k-h

Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.

## Build
* kernel: 6.10.3-rc3
* git: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
* git commit: df6b86a465e839f8a9912c0de79b3c5681d0f1d9
* git describe: v6.10.2-810-gdf6b86a465e8
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.10.y/build/v6.10.2-810-gdf6b86a465e8

## Test Regressions (compared to v6.10.1-30-gbdc32598d900)

## Metric Regressions (compared to v6.10.1-30-gbdc32598d900)

## Test Fixes (compared to v6.10.1-30-gbdc32598d900)

## Metric Fixes (compared to v6.10.1-30-gbdc32598d900)

## Test result summary
total: 418796, pass: 365615, fail: 6357, skip: 46059, xfail: 765

## Build Summary
* arc: 10 total, 10 passed, 0 failed
* arm: 254 total, 254 passed, 0 failed
* arm64: 72 total, 72 passed, 0 failed
* i386: 54 total, 54 passed, 0 failed
* mips: 48 total, 48 passed, 0 failed
* parisc: 6 total, 6 passed, 0 failed
* powerpc: 68 total, 68 passed, 0 failed
* riscv: 34 total, 34 passed, 0 failed
* s390: 24 total, 24 passed, 0 failed
* sh: 20 total, 20 passed, 0 failed
* sparc: 12 total, 12 passed, 0 failed
* x86_64: 62 total, 62 passed, 0 failed

## Test suites summary
* boot
* kselftest-arm64
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-efivarfs
* kselftest-exec
* kselftest-filesystems
* kselftest-filesystems-binderfs
* kselftest-filesystems-epoll
* kselftest-firmware
* kselftest-fpu
* kselftest-ftrace
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-kcmp
* kselftest-kvm
* kselftest-livepatch
* kselftest-membarrier
* kselftest-memfd
* kselftest-mincore
* kselftest-mqueue
* kselftest-net
* kselftest-net-mptcp
* kselftest-openat2
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-tc-testing
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user_events
* kselftest-vDSO
* kselftest-watchdog
* kselftest-x86
* kunit
* kvm-unit-tests
* libgpiod
* libhugetlbfs
* log-parser-boot
* log-parser-test
* ltp-commands
* ltp-containers
* ltp-controllers
* ltp-cpuhotplug
* ltp-crypto
* ltp-cve
* ltp-dio
* ltp-fcntl-locktests
* ltp-fs
* ltp-fs_bind
* ltp-fs_perms_simple
* ltp-hugetlb
* ltp-ipc
* ltp-math
* ltp-mm
* ltp-nptl
* ltp-pty
* ltp-sched
* ltp-smoke
* ltp-smoketest
* ltp-syscalls
* ltp-tracing
* perf
* rcutorture

--
Linaro LKFT
https://lkft.linaro.org

Tested-by on the v1 series
#9 lore raw
In reply to Greg Kroah-Hartman
Quoted 9 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 8 lines
	https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.10.3-rc3.gz

or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.10.y
and the diffstat can be found below.

thanks,

greg k-h

Tested rc3 against the Fedora build system (aarch64, ppc64le, s390x, x86_64), and boot tested x86_64. No regressions noted.

Tested-by on the v1 series
#10 lore raw
In reply to Greg Kroah-Hartman
Quoted 9 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 9 lines
	https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.10.3-rc3.gz

or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.10.y
and the diffstat can be found below.

thanks,

greg k-h

Compiled and booted on my test system. No dmesg regressions.

thanks,
-- Shuah

Tested-by Allen Pais on the v1 series
#11 lore raw
In reply to Greg Kroah-Hartman
Quoted 9 lines

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 9 lines
        https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.10.3-rc3.gz

or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.10.y
and the diffstat can be found below.

thanks,

greg k-h

Compiled and booted on my x86_64 and ARM64 test systems. No errors or regressions.

Thanks.

Tested-by on the v1 series
#12 lore raw
In reply to Greg Kroah-Hartman
Quoted 9 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 8 lines
	https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.10.3-rc3.gz

or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.10.y
and the diffstat can be found below.

thanks,

greg k-h

On ARCH_BRCMSTB using 32-bit and 64-bit ARM kernels, build tested on BMIPS_GENERIC:

Signature · 1 line
Florian
Tested-by on the v1 series
#13 lore raw
In reply to Greg Kroah-Hartman
Quoted 4 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

openSUSE configs¹⁾ all green. x86_64 runs fine in qemu.

¹⁾ armv6hl armv7hl arm64 i386 ppc64 ppc64le riscv64 s390x x86_64

thanks,

Signature · 2 lines
js
suse labs
Tested-by on the v1 series
#14 lore raw
In reply to Greg Kroah-Hartman
Quoted 9 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 8 lines
	https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.10.3-rc3.gz

or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.10.y
and the diffstat can be found below.

thanks,

greg k-h

Built and booted successfully on RISC-V RV64 (HiFive Unmatched).

Tested-by on the v1 series
#15 lore raw
In reply to Greg Kroah-Hartman
Quoted 5 lines · On Wed, 31 Jul 2024 12:03:16 +0200 Greg Kroah-Hartman…

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Boot-tested under QEMU for Rust x86_64, arm64 and riscv64; built-tested for loongarch64:

Thanks!

Cheers,
Miguel

#16 lore raw
In reply to Greg Kroah-Hartman

Hi,

Quoted 8 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

[ ... ]

Quoted 3 lines

Rafael J. Wysocki <[email protected]>
genirq: Set IRQF_COND_ONESHOT in request_irq()

With this patch in v6.10.3, all my parisc64 qemu tests get stuck with repeated error messages

[    0.000000] =============================================================================
[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16
[    0.000000] -----------------------------------------------------------------------------

This never stops until the emulation aborts.

Reverting this patch fixes the problem for me.

I noticed a similar problem in the mainline kernel but it is either spurious there or the problem has been fixed.

Guenter

#17 lore raw
Quoted 23 lines · Guenter Roeck

Hi,

Quoted 8 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 6.10.3 release. There are 809 patches in this series, all will be posted as a response to this one.  If anyone has any issues with these being applied, please let me know.

Responses should be made by Fri, 02 Aug 2024 09:47:47 +0000. Anything received after that time might be too late.

[ ... ]

Quoted 3 lines

Rafael J. Wysocki <[email protected]>
     genirq: Set IRQF_COND_ONESHOT in request_irq()

With this patch in v6.10.3, all my parisc64 qemu tests get stuck with repeated error messages

[    0.000000] ============================================================================= [    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16
[    0.000000] -----------------------------------------------------------------------------

Quoted 7 lines

This never stops until the emulation aborts.

Reverting this patch fixes the problem for me.

I noticed a similar problem in the mainline kernel but it is either spurious there or the problem has been fixed.

As a follow-up, the patch below (on top of v6.10.3) "fixes" the problem for me. I guess that suggests some kind of race condition.

Added Helge and the parisc mailing list to Cc:. Sorry, I forgot that earlier.

Guenter

---

kernel/irq/manage.c +3 -0
index dd53298ef1a5..53a0f654ab56 100644
@@ -8,6 +8,7 @@
 
 #define pr_fmt(fmt) "genirq: " fmt
 
+#include <linux/delay.h>
 #include <linux/irq.h>
 #include <linux/kthread.h>
 #include <linux/module.h>
@@ -2156,6 +2157,8 @@ int request_threaded_irq(unsigned int irq, irq_handler_t handler,
        struct irq_desc *desc;
        int retval;
 
+       udelay(1);
+
        if (irq == IRQ_NOTCONNECTED)
                return -ENOTCONN;
 
#18 lore raw
Quoted 10 lines · Guenter Roeck
Quoted 9 lines · Guenter Roeck
Quoted 3 lines

Rafael J. Wysocki <[email protected]>
     genirq: Set IRQF_COND_ONESHOT in request_irq()

With this patch in v6.10.3, all my parisc64 qemu tests get stuck with repeated error messages

[    0.000000] ============================================================================= [    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16
[    0.000000] -----------------------------------------------------------------------------

Do you have a full boot log? It's unclear to me at which point of the boot process this happens. Is this before or after the secondary CPUs have been brought up?

Quoted 1 line
Quoted 1 line

This never stops until the emulation aborts.

Do you have a recipe how to reproduce?

Quoted 11 lines
Quoted 5 lines

Reverting this patch fixes the problem for me.

I noticed a similar problem in the mainline kernel but it is either spurious there or the problem has been fixed.

As a follow-up, the patch below (on top of v6.10.3) "fixes" the problem for me. I guess that suggests some kind of race condition.

kernel/irq/manage.c int request_threaded_irq(unsigned int irq, irq_handler_t handler, · line 2163

Quoted 7 lines
kernel/irq/manage.c +2 -0
@@ -2156,6 +2157,8 @@ int request_threaded_irq(unsigned int irq, irq_handler_t handler,
         struct irq_desc *desc;
         int retval;
 
+       udelay(1);
+
         if (irq == IRQ_NOTCONNECTED)
                 return -ENOTCONN;

That all makes absolutely no sense to me.

IRQF_COND_ONESHOT has only an effect on shared interrupts, when the interrupt was already requested with IRQF_ONESHOT.

If this is really a race then the following must be true:

1) no delay

CPU0 CPU1
request_irq(IRQF_ONESHOT)
request_irq(IRQF_COND_ONESHOT)

2) delay

CPU0 CPU1
request_irq(IRQF_COND_ONESHOT)
request_irq(IRQF_ONESHOT)

In this case the request on CPU 0 fails with -EBUSY ...

Confused

tglx

#19 lore raw
Quoted 10 lines · Thomas Gleixner

If this is really a race then the following must be true:

1) no delay

CPU0 CPU1
request_irq(IRQF_ONESHOT)
request_irq(IRQF_COND_ONESHOT)

2) delay

Quoted 7 lines

CPU0 CPU1
request_irq(IRQF_COND_ONESHOT)
request_irq(IRQF_ONESHOT)

In this case the request on CPU 0 fails with -EBUSY ...

Confused

More confusing:

Adding a printk() in setup_irq() - using the config, rootfs and the run.sh script from:

http://server.roeck-us.net/qemu/parisc64-6.1.5/

results in:

[    0.000000] genirq: 64 flags: 00215600
[    0.000000] genirq: 65 flags: 00200400
[    8.110946] genirq: 66 flags: 00200080

IRQF_ONESHOT is 0x2000 which is not set by any of the interrupt requests.

IRQF_COND_ONESHOT has only an effect when

1) Interrupt is shared
2) First interrupt request has IRQF_ONESHOT set

Neither #1 nor #2 are true, but maybe your current config enables some moar devices than the one on your website.

Thanks,

tglx

#20 lore raw
Quoted 35 lines · Thomas Gleixner
Quoted 10 lines · Thomas Gleixner

If this is really a race then the following must be true:

1) no delay

CPU0 CPU1
request_irq(IRQF_ONESHOT)
request_irq(IRQF_COND_ONESHOT)

2) delay

Quoted 7 lines

CPU0 CPU1
request_irq(IRQF_COND_ONESHOT)
request_irq(IRQF_ONESHOT)

In this case the request on CPU 0 fails with -EBUSY ...

Confused

More confusing:

Adding a printk() in setup_irq() - using the config, rootfs and the run.sh script from:

   http://server.roeck-us.net/qemu/parisc64-6.1.5/

results in:

[    0.000000] genirq: 64 flags: 00215600
[    0.000000] genirq: 65 flags: 00200400
[    8.110946] genirq: 66 flags: 00200080

IRQF_ONESHOT is 0x2000 which is not set by any of the interrupt requests.

Quoted 8 lines

IRQF_COND_ONESHOT has only an effect when

1) Interrupt is shared
2) First interrupt request has IRQF_ONESHOT set

Neither #1 nor #2 are true, but maybe your current config enables some moar devices than the one on your website.

No, it is pretty much the same, except for a more recent C compiler, and it requires qemu v9.0. See http://server.roeck-us.net/qemu/parisc64-6.10.3/.

Debugging shows pretty much the same for me, and any log message added to request_irq() makes the problem go away (or be different), and if the problem is seen it doesn't even get to the third interrupt request. I copied a more complete log to bad.log.gz in above page.

Below is yet another "fix" of the problem, just as puzzling as the other "fix".

Guenter

---

arch/parisc/kernel/time.c +2 -0
index 9714fbd7c42d..9707914c1a62 100644
@@ -75,6 +75,8 @@ irqreturn_t __irq_entry timer_interrupt(int irq, void *dev_id)
        /* Initialize next_tick to the old expected tick time. */
        next_tick = cpuinfo->it_value;
 
+       pr_info_once("####### First timer interrupt\n");
+
        /* Calculate how many ticks have elapsed. */
        now = mfctl(16);
        do {
#21 lore raw
Quoted 10 lines · Guenter Roeck
Quoted 8 lines · Thomas Gleixner

IRQF_COND_ONESHOT has only an effect when

1) Interrupt is shared
2) First interrupt request has IRQF_ONESHOT set

Neither #1 nor #2 are true, but maybe your current config enables some moar devices than the one on your website.

Quoted 7 lines

No, it is pretty much the same, except for a more recent C compiler, and it requires qemu v9.0. See http://server.roeck-us.net/qemu/parisc64-6.10.3/.

Debugging shows pretty much the same for me, and any log message added to request_irq() makes the problem go away (or be different), and if the problem is seen it doesn't even get to the third interrupt request. I copied a more complete log to bad.log.gz in above page.

At the point where the problem happens is way before the first interrupt is requested, so that definitely excludes any side effect of COND_ONESHOT.

It happens right after

[    0.000000] Memory: 991812K/1048576K available (16752K kernel code, 5220K rwdata, 3044K rodata, 760K init, 1424K bss, 56764K reserved, 0K cma-reserved)
               SNIP
[    0.000000] ** This system shows unhashed kernel memory addresses   **
               SNIP

I.e. the big fat warning about unhashed kernel addresses)

In the good case the first interrupt is requested here:

[    0.000000] Memory: 992804K/1048576K available (16532K kernel code, 5096K rwdata, 2984K rodata, 744K init, 1412K bss, 55772K reserved, 0K cma-reserved)
               SNIP
[    0.000000] ** This system shows unhashed kernel memory addresses   **
               SNIP
[    0.000000] SLUB: HWalign=16, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ODEBUG: selftest passed
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU callback double-/use-after-free debug is enabled.
[    0.000000] rcu:     RCU debug extended QS entry/exit.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 128              <- This is where the interrupt
                                            subsystem is initialized
[    0.000000] genirq: 64: 00215600      <- This is probably the timer interrupt

Looking at the backtrace the fail happens from within start_kernel(), i.e. mm_core_init():

       slab_err+0x13c/0x190
       check_slab+0xf4/0x140
       alloc_debug_processing+0x58/0x248
       ___slab_alloc+0x22c/0xa38
       __slab_alloc.isra.0+0x60/0x88
       kmem_cache_alloc_node_noprof+0x148/0x3c0
       __kmem_cache_create+0x5d4/0x680
       create_boot_cache+0xc4/0x128
       new_kmalloc_cache+0x1ac/0x1d8
       create_kmalloc_caches+0xac/0x108
       kmem_cache_init+0x1cc/0x340
       mm_core_init+0x458/0x560
       start_kernel+0x9ac/0x11e0
       start_parisc+0x188/0x1b0

The interrupt subsystem is initialized way later and request_irq() only works after that point.

I'm 100% sure by now that this commit has absolutely nothing to do with the underlying problem. All it does is changing the code size and placement of text, data and ....

So I finally managed to reproduce with gcc-13.3.0 from the k.org cross tools (the debian 12.2.2 does not).

If I add:

kernel/irq/manage.c +2 -0
@@ -1513,6 +1513,8 @@ static int
 	unsigned long flags, thread_mask = 0;
 	int ret, nested, shared = 0;
 
+	pr_info("%u: %08x\n", irq, new->flags);
+
 	if (!desc)
 		return -EINVAL;
 

it still reproduces. If I change that to:

kernel/irq/manage.c +2 -0
@@ -1513,6 +1513,8 @@ static int
 	unsigned long flags, thread_mask = 0;
 	int ret, nested, shared = 0;
 
+	new->flags &= ~IRQF_COND_ONESHOT;
+
 	if (!desc)
 		return -EINVAL;
 

that does neither cure it (unsurprisingly).

Reverting the "offending" commit cures it.

So I tried your

+ pr_info_once("####### First timer interrupt\n");

which cures it too.

So now where is the difference between the printk() in __setup_irq(), the new->flag mangling, the revert and the printk() in timer interrupt?

There is ZERO functional change. There is no race either because at that point everything is single threaded and interrupts are disabled.

The only thing which changes is the code and data layout as I can observe when looking at System.map of the builds. I stared at the diffs for a bit, but nothing stood out.

Maybe the PARISC people can shed some light on it.

This reminds me of the x86 32-bit disaster we debugged a few days ago...

Thanks,

tglx

#22 lore raw
Quoted 120 lines · Thomas Gleixner
Quoted 10 lines · Guenter Roeck
Quoted 8 lines · Thomas Gleixner

IRQF_COND_ONESHOT has only an effect when

1) Interrupt is shared
2) First interrupt request has IRQF_ONESHOT set

Neither #1 nor #2 are true, but maybe your current config enables some moar devices than the one on your website.

Quoted 7 lines

No, it is pretty much the same, except for a more recent C compiler, and it requires qemu v9.0. See http://server.roeck-us.net/qemu/parisc64-6.10.3/.

Debugging shows pretty much the same for me, and any log message added to request_irq() makes the problem go away (or be different), and if the problem is seen it doesn't even get to the third interrupt request. I copied a more complete log to bad.log.gz in above page.

At the point where the problem happens is way before the first interrupt is requested, so that definitely excludes any side effect of COND_ONESHOT.

It happens right after

[    0.000000] Memory: 991812K/1048576K available (16752K kernel code, 5220K rwdata, 3044K rodata, 760K init, 1424K bss, 56764K reserved, 0K cma-reserved)
                SNIP
[    0.000000] ** This system shows unhashed kernel memory addresses   **
                SNIP

I.e. the big fat warning about unhashed kernel addresses)

In the good case the first interrupt is requested here:

[    0.000000] Memory: 992804K/1048576K available (16532K kernel code, 5096K rwdata, 2984K rodata, 744K init, 1412K bss, 55772K reserved, 0K cma-reserved)
                SNIP
[    0.000000] ** This system shows unhashed kernel memory addresses   **
                SNIP
[    0.000000] SLUB: HWalign=16, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ODEBUG: selftest passed
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU callback double-/use-after-free debug is enabled.
[    0.000000] rcu:     RCU debug extended QS entry/exit.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 128              <- This is where the interrupt
                                             subsystem is initialized
[    0.000000] genirq: 64: 00215600      <- This is probably the timer interrupt

Looking at the backtrace the fail happens from within start_kernel(), i.e. mm_core_init():

        slab_err+0x13c/0x190
        check_slab+0xf4/0x140
        alloc_debug_processing+0x58/0x248
        ___slab_alloc+0x22c/0xa38
        __slab_alloc.isra.0+0x60/0x88
        kmem_cache_alloc_node_noprof+0x148/0x3c0
        __kmem_cache_create+0x5d4/0x680
        create_boot_cache+0xc4/0x128
        new_kmalloc_cache+0x1ac/0x1d8
        create_kmalloc_caches+0xac/0x108
        kmem_cache_init+0x1cc/0x340
        mm_core_init+0x458/0x560
        start_kernel+0x9ac/0x11e0
        start_parisc+0x188/0x1b0

The interrupt subsystem is initialized way later and request_irq() only works after that point.

I'm 100% sure by now that this commit has absolutely nothing to do with the underlying problem. All it does is changing the code size and placement of text, data and ....

So I finally managed to reproduce with gcc-13.3.0 from the k.org cross tools (the debian 12.2.2 does not).

If I add:

kernel/irq/manage.c +2 -0
@@ -1513,6 +1513,8 @@ static int
  	unsigned long flags, thread_mask = 0;
  	int ret, nested, shared = 0;
 
+	pr_info("%u: %08x\n", irq, new->flags);
+
  	if (!desc)
  		return -EINVAL;
 

it still reproduces. If I change that to:

kernel/irq/manage.c +2 -0
@@ -1513,6 +1513,8 @@ static int
  	unsigned long flags, thread_mask = 0;
  	int ret, nested, shared = 0;
 
+	new->flags &= ~IRQF_COND_ONESHOT;
+
  	if (!desc)
  		return -EINVAL;
 

that does neither cure it (unsurprisingly).

Reverting the "offending" commit cures it.

So I tried your

+ pr_info_once("####### First timer interrupt\n");

which cures it too.

So now where is the difference between the printk() in __setup_irq(), the new->flag mangling, the revert and the printk() in timer interrupt?

There is ZERO functional change. There is no race either because at that point everything is single threaded and interrupts are disabled.

Quoted 8 lines

The only thing which changes is the code and data layout as I can observe when looking at System.map of the builds. I stared at the diffs for a bit, but nothing stood out.

Maybe the PARISC people can shed some light on it.

This reminds me of the x86 32-bit disaster we debugged a few days ago...

Looks like it :-(

Thanks for checking !

Guenter

#23 lore raw
In reply to Thomas Gleixner
Quoted 34 lines · Thomas Gleixner
Quoted 10 lines · Guenter Roeck
Quoted 9 lines · Guenter Roeck
Quoted 3 lines

Rafael J. Wysocki <[email protected]>
     genirq: Set IRQF_COND_ONESHOT in request_irq()

With this patch in v6.10.3, all my parisc64 qemu tests get stuck with repeated error messages

[    0.000000] ============================================================================= [    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16
[    0.000000] -----------------------------------------------------------------------------

Do you have a full boot log? It's unclear to me at which point of the boot process this happens. Is this before or after the secondary CPUs have been brought up?

Quoted 1 line
Quoted 1 line

This never stops until the emulation aborts.

Do you have a recipe how to reproduce?

Quoted 14 lines
Quoted 5 lines

Reverting this patch fixes the problem for me.

I noticed a similar problem in the mainline kernel but it is either spurious there or the problem has been fixed.

As a follow-up, the patch below (on top of v6.10.3) "fixes" the problem for me. I guess that suggests some kind of race condition.

kernel/irq/manage.c +0 -0
@@ -2156,6 +2157,8 @@ int request_threaded_irq(unsigned int irq, irq_handler_t handler,
          struct irq_desc *desc;
          int retval;
 
Quoted 7 lines

kernel/irq/manage.c int request_threaded_irq(unsigned int irq, irq_handler_t handler, · line 2163

Quoted 4 lines
kernel/irq/manage.c +2 -0
+       udelay(1);
+
          if (irq == IRQ_NOTCONNECTED)
                  return -ENOTCONN;

That all makes absolutely no sense to me.

Same here, really. I can reproduce the problem with v6.10.3, using my configuration, but whatever debugging I add makes the problem disappear. I had seen the same problem on mainline with v6.11-rc1-272-g17712b7ea075. Log is at
https://kerneltests.org/builders/qemu-parisc64-master/builds/168/steps/qemubuildcommand/logs/stdio
However, I can no longer reproduce it there. What makes it even more weird / odd is that I can bisect the problem between v6.10.2 and v6.10.3 and it points to this commit, but reproducing it outside that chain seems to be all but impossible.

Guenter

Quoted 24 lines

IRQF_COND_ONESHOT has only an effect on shared interrupts, when the interrupt was already requested with IRQF_ONESHOT.

If this is really a race then the following must be true:

1) no delay

CPU0 CPU1
request_irq(IRQF_ONESHOT)
request_irq(IRQF_COND_ONESHOT)

2) delay

CPU0 CPU1
request_irq(IRQF_COND_ONESHOT)
request_irq(IRQF_ONESHOT)

In this case the request on CPU 0 fails with -EBUSY ...

Confused

tglx

#24 lore raw
In reply to Guenter Roeck

[ Let's drop random people and bring in Vlastimil ]

Vlastimil,
it turns out that the "this patch" is entirely a red herring, and the
problem comes and goes randomly with just some code layout issues. See

http://server.roeck-us.net/qemu/parisc64-6.10.3/

for more detail, particularly you'll see the "log.bad.gz" with the full log.

See also

https://lore.kernel.org/all/87y15a4p4h.ffs@tglx/

for this thread.

I don't think this is really a slub issue, since it only happens on parisc, but maybe you can see what would make parisc different, and what could possibly make it all timing- or layout-dependent.

Linus

Quoted 8 lines · Guenter Roeck

With this patch in v6.10.3, all my parisc64 qemu tests get stuck with repeated error messages

[    0.000000] =============================================================================
[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16
[    0.000000] -----------------------------------------------------------------------------

This never stops until the emulation aborts.

#25 lore raw
Quoted 1 line · Linus Torvalds

[ Let's drop random people and bring in Vlastimil ]

tglx was reproducing it so I add him back

Quoted 7 lines

Vlastimil,
it turns out that the "this patch" is entirely a red herring, and the
problem comes and goes randomly with just some code layout issues. See

   http://server.roeck-us.net/qemu/parisc64-6.10.3/

for more detail, particularly you'll see the "log.bad.gz" with the full log.

[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16
[    0.000000] Slab 0x0000000041ed0000 objects=21 used=5 fp=0x00000000434003d0 flags=0x200(workingset|section=0|zone=0)

flags tell us this came from the partial list (workingset), there's no head flag so order-0

since the error was detected it basically throws the slab page away and tries another one

[    0.000000] BUG kmem_cache (Tainted: G    B             ): objects 25 > max 16
[    0.000000] Slab 0x0000000041ed0080 objects=25 used=6 fp=0x0000000043402790 flags=0x240(workingset|head|section=0|zone=0)

this was also from the partial list but head flag so at least order-1, two things are weird:
- max=16 is same as above even though it should be at least double as
slab page's order is larger
- objects=25 also isn't at least twice than objects=21

All the following are:

[    0.000000] BUG kmem_cache (Tainted: G    B             ): objects 25 > max 16
[    0.000000] Slab 0x0000000041ed0300 objects=25 used=1 fp=0x000000004340c150 flags=0x40(head|section=0|zone=0)

we depleted the partial list so it's allocating new slab pages, that are also at least order-1

It looks like maxobj calculation is bogus, would be useful to see what values it calculates from. I'm attaching a diff, but maybe it will also hide the issue...

If someone has a /proc/slabinfo from a working boot with otherwise same config it might be also enough to guess what values should be expected there, at least the s-size.

objects=21 vs 25 also seem odd though

used=5 with used=6 in the first two also suggests we already passed this code successfully for creating a number of kmalloc caches and only then it started failing, that's also weird.

Quoted 6 lines

See also

   https://lore.kernel.org/all/87y15a4p4h.ffs@tglx/

for this thread.

Quoted 15 lines

I don't think this is really a slub issue, since it only happens on parisc, but maybe you can see what would make parisc different, and what could possibly make it all timing- or layout-dependent.

Linus

Quoted 8 lines · Guenter Roeck

With this patch in v6.10.3, all my parisc64 qemu tests get stuck with repeated error messages

[    0.000000] =============================================================================
[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16
[    0.000000] -----------------------------------------------------------------------------

This never stops until the emulation aborts.

mm/slub.c +2 -2
index 4927edec6a8c..ec4ed5215f2f 100644
@@ -1386,8 +1386,8 @@ static int check_slab(struct kmem_cache *s, struct slab *slab)
 
 	maxobj = order_objects(slab_order(slab), s->size);
 	if (slab->objects > maxobj) {
-		slab_err(s, slab, "objects %u > max %u",
-			slab->objects, maxobj);
+		slab_err(s, slab, "objects %u > max %u (order %d size %u)",
+			slab->objects, maxobj, slab_order(slab), s->size);
 		return 0;
 	}
 	if (slab->inuse > slab->objects) {
#26 lore raw
Quoted 29 lines · Vlastimil Babka
Quoted 1 line · Linus Torvalds

[ Let's drop random people and bring in Vlastimil ]

tglx was reproducing it so I add him back

Quoted 7 lines

Vlastimil,
it turns out that the "this patch" is entirely a red herring, and the
problem comes and goes randomly with just some code layout issues. See

   http://server.roeck-us.net/qemu/parisc64-6.10.3/

for more detail, particularly you'll see the "log.bad.gz" with the full log.

[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16
[    0.000000] Slab 0x0000000041ed0000 objects=21 used=5 fp=0x00000000434003d0 flags=0x200(workingset|section=0|zone=0)

flags tell us this came from the partial list (workingset), there's no head flag so order-0

since the error was detected it basically throws the slab page away and tries another one

[    0.000000] BUG kmem_cache (Tainted: G    B             ): objects 25 > max 16
[    0.000000] Slab 0x0000000041ed0080 objects=25 used=6 fp=0x0000000043402790 flags=0x240(workingset|head|section=0|zone=0)

this was also from the partial list but head flag so at least order-1, two things are weird:
- max=16 is same as above even though it should be at least double as
slab page's order is larger
- objects=25 also isn't at least twice than objects=21

All the following are:

Quoted 9 lines
[    0.000000] BUG kmem_cache (Tainted: G    B             ): objects 25 > max 16
[    0.000000] Slab 0x0000000041ed0300 objects=25 used=1 fp=0x000000004340c150 flags=0x40(head|section=0|zone=0)

we depleted the partial list so it's allocating new slab pages, that are also at least order-1

It looks like maxobj calculation is bogus, would be useful to see what values it calculates from. I'm attaching a diff, but maybe it will also hide the issue...

Of course it does :-(.

Quoted 4 lines

If someone has a /proc/slabinfo from a working boot with otherwise same config it might be also enough to guess what values should be expected there, at least the s-size.

See below. This is from the failing image after adding your suggested diff (which is sufficient to make it pass). If there is anything else I can provide, please let me know.

Thanks,
Guenter

---
slabinfo - version: 2.1

# name            <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
btrfs_prelim_ref       0      0    176   23    1 : tunables    0    0    0 : slabdata      0      0      0
btrfs_delayed_extent_op      0      0    128   32    1 : tunables    0    0    0 : slabdata      0      0      0
btrfs_delayed_ref_node      0      0    208   39    2 : tunables    0    0    0 : slabdata      0      0      0
btrfs_delayed_ref_head      0      0    312   26    2 : tunables    0    0    0 : slabdata      0      0      0
btrfs_inode_defrag      0      0    152   26    1 : tunables    0    0    0 : slabdata      0      0      0
btrfs_delayed_node      0      0    448   36    4 : tunables    0    0    0 : slabdata      0      0      0
btrfs_ordered_extent      0      0    560   29    4 : tunables    0    0    0 : slabdata      0      0      0
btrfs_extent_map       0      0    208   39    2 : tunables    0    0    0 : slabdata      0      0      0
bio-280                2     21    384   21    2 : tunables    0    0    0 : slabdata      1      1      0
bio-344                4     36    448   36    4 : tunables    0    0    0 : slabdata      1      1      0
btrfs_extent_buffer      0      0    392   20    2 : tunables    0    0    0 : slabdata      0      0      0
btrfs_extent_state      0      0    192   21    1 : tunables    0    0    0 : slabdata      0      0      0
btrfs_free_space_bitmap      0      0  12288    2    8 : tunables    0    0    0 : slabdata      0      0      0
btrfs_free_space       0      0    200   20    1 : tunables    0    0    0 : slabdata      0      0      0
btrfs_path             0      0    208   39    2 : tunables    0    0    0 : slabdata      0      0      0
btrfs_trans_handle      0      0    296   27    2 : tunables    0    0    0 : slabdata      0      0      0
bio-360                2     35    464   35    4 : tunables    0    0    0 : slabdata      1      1      0
btrfs_inode            0      0   1520   21    8 : tunables    0    0    0 : slabdata      0      0      0
bio-416                2     31    528   31    4 : tunables    0    0    0 : slabdata      1      1      0
ip6-frags              0      0    312   26    2 : tunables    0    0    0 : slabdata      0      0      0
fib6_node              8     23    176   23    1 : tunables    0    0    0 : slabdata      1      1      0
ip6_dst_cache          1     24    336   24    2 : tunables    0    0    0 : slabdata      1      1      0
PINGv6                 0      0   1456   22    8 : tunables    0    0    0 : slabdata      0      0      0
RAWv6                 12     22   1456   22    8 : tunables    0    0    0 : slabdata      1      1      0
UDPLITEv6              0      0   1584   20    8 : tunables    0    0    0 : slabdata      0      0      0
UDPv6                  0      0   1584   20    8 : tunables    0    0    0 : slabdata      0      0      0
tw_sock_TCPv6          0      0    336   24    2 : tunables    0    0    0 : slabdata      0      0      0
request_sock_TCPv6      0      0    400   20    2 : tunables    0    0    0 : slabdata      0      0      0
TCPv6                  0      0   2736   11    8 : tunables    0    0    0 : slabdata      0      0      0
virtio_scsi_cmd       64     78    304   26    2 : tunables    0    0    0 : slabdata      3      3      0
scsi_sense_cache     703    741    208   39    2 : tunables    0    0    0 : slabdata     19     19      0
bio-104               18     39    208   39    2 : tunables    0    0    0 : slabdata      1      1      0
io_buffer              0      0    144   28    1 : tunables    0    0    0 : slabdata      0      0      0
io_kiocb               0      0    352   23    2 : tunables    0    0    0 : slabdata      0      0      0
bio-200                4     26    304   26    2 : tunables    0    0    0 : slabdata      1      1      0
mqueue_inode_cache      1     26   1232   26    8 : tunables    0    0    0 : slabdata      1      1      0
udf_inode_cache        0      0   1080   30    8 : tunables    0    0    0 : slabdata      0      0      0
fuse_request           0      0    264   31    2 : tunables    0    0    0 : slabdata      0      0      0
fuse_inode             0      0   1200   27    8 : tunables    0    0    0 : slabdata      0      0      0
sysv_inode_cache       0      0    912   35    8 : tunables    0    0    0 : slabdata      0      0      0
isofs_inode_cache      0      0    904   36    8 : tunables    0    0    0 : slabdata      0      0      0
squashfs_inode_cache      0      0    928   35    8 : tunables    0    0    0 : slabdata      0      0      0
jbd2_transaction_s      0      0    320   25    2 : tunables    0    0    0 : slabdata      0      0      0
jbd2_inode             0      0    160   25    1 : tunables    0    0    0 : slabdata      0      0      0
jbd2_journal_handle      0      0    152   26    1 : tunables    0    0    0 : slabdata      0      0      0
jbd2_journal_head      0      0    240   34    2 : tunables    0    0    0 : slabdata      0      0      0
jbd2_revoke_table_s      0      0    112   36    1 : tunables    0    0    0 : slabdata      0      0      0
jbd2_revoke_record_s      0      0    144   28    1 : tunables    0    0    0 : slabdata      0      0      0
ext2_inode_cache       0      0   1168   28    8 : tunables    0    0    0 : slabdata      0      0      0
ext4_fc_dentry_update      0      0    200   20    1 : tunables    0    0    0 : slabdata      0      0      0
ext4_inode_cache       0      0   1648   19    8 : tunables    0    0    0 : slabdata      0      0      0
ext4_free_data         0      0    152   26    1 : tunables    0    0    0 : slabdata      0      0      0
ext4_allocation_context      0      0    248   33    2 : tunables    0    0    0 : slabdata      0      0      0
ext4_prealloc_space      0      0    232   35    2 : tunables    0    0    0 : slabdata      0      0      0
ext4_system_zone       0      0    136   30    1 : tunables    0    0    0 : slabdata      0      0      0
ext4_io_end_vec        0      0    128   32    1 : tunables    0    0    0 : slabdata      0      0      0
ext4_io_end            0      0    160   25    1 : tunables    0    0    0 : slabdata      0      0      0
bio_post_read_ctx    128    140    144   28    1 : tunables    0    0    0 : slabdata      5      5      0
pending_reservation      0      0    128   32    1 : tunables    0    0    0 : slabdata      0      0      0
extent_status          0      0    136   30    1 : tunables    0    0    0 : slabdata      0      0      0
mb_cache_entry         0      0    152   26    1 : tunables    0    0    0 : slabdata      0      0      0
kioctx                 0      0    592   27    4 : tunables    0    0    0 : slabdata      0      0      0
aio_kiocb              0      0    288   28    2 : tunables    0    0    0 : slabdata      0      0      0
dnotify_mark           0      0    200   20    1 : tunables    0    0    0 : slabdata      0      0      0
dnotify_struct         0      0    128   32    1 : tunables    0    0    0 : slabdata      0      0      0
dio                    0      0    768   21    4 : tunables    0    0    0 : slabdata      0      0      0
fasync_cache           0      0    176   23    1 : tunables    0    0    0 : slabdata      0      0      0
audit_tree_mark        0      0    200   20    1 : tunables    0    0    0 : slabdata      0      0      0
pid_namespace          0      0    272   30    2 : tunables    0    0    0 : slabdata      0      0      0
posix_timers_cache      0      0    376   21    2 : tunables    0    0    0 : slabdata      0      0      0
UNIX-STREAM            0     23   1408   23    8 : tunables    0    0    0 : slabdata      1      1      0
UNIX                   2     23   1408   23    8 : tunables    0    0    0 : slabdata      1      1      0
ip4-frags              0      0    328   24    2 : tunables    0    0    0 : slabdata      0      0      0
UDP-Lite               0      0   1424   23    8 : tunables    0    0    0 : slabdata      0      0      0
tcp_bind2_bucket       0     23    176   23    1 : tunables    0    0    0 : slabdata      1      1      0
tcp_bind_bucket        0     23    176   23    1 : tunables    0    0    0 : slabdata      1      1      0
inet_peer              0      0    256   32    2 : tunables    0    0    0 : slabdata      0      0      0
xfrm_dst               0      0    400   20    2 : tunables    0    0    0 : slabdata      0      0      0
xfrm_state             0      0    896   36    8 : tunables    0    0    0 : slabdata      0      0      0
ip_fib_trie            7     28    144   28    1 : tunables    0    0    0 : slabdata      1      1      0
ip_fib_alias           7     26    152   26    1 : tunables    0    0    0 : slabdata      1      1      0
rtable                 2     28    288   28    2 : tunables    0    0    0 : slabdata      1      1      0
PING                   0      0   1264   25    8 : tunables    0    0    0 : slabdata      0      0      0
RAW                   16     25   1264   25    8 : tunables    0    0    0 : slabdata      1      1      0
UDP                    1     23   1424   23    8 : tunables    0    0    0 : slabdata      1      1      0
tw_sock_TCP            0      0    336   24    2 : tunables    0    0    0 : slabdata      0      0      0
request_sock_TCP       0      0    400   20    2 : tunables    0    0    0 : slabdata      0      0      0
TCP                    0     12   2576   12    8 : tunables    0    0    0 : slabdata      1      1      0
dquot                  0      0    416   39    4 : tunables    0    0    0 : slabdata      0      0      0
bio-224               32     48    336   24    2 : tunables    0    0    0 : slabdata      2      2      0
backing_aio            0      0    224   36    2 : tunables    0    0    0 : slabdata      0      0      0
ep_head                0      0    112   36    1 : tunables    0    0    0 : slabdata      0      0      0
eventpoll_pwq          0      0    160   25    1 : tunables    0    0    0 : slabdata      0      0      0
eventpoll_epi          0      0    224   36    2 : tunables    0    0    0 : slabdata      0      0      0
inotify_inode_mark      0      0    200   20    1 : tunables    0    0    0 : slabdata      0      0      0
sgpool-128             2      7   4208    7    8 : tunables    0    0    0 : slabdata      1      1      0
sgpool-64              2     15   2160   15    8 : tunables    0    0    0 : slabdata      1      1      0
sgpool-32              2     28   1136   28    8 : tunables    0    0    0 : slabdata      1      1      0
sgpool-16              2     26    624   26    4 : tunables    0    0    0 : slabdata      1      1      0
sgpool-8               2     22    368   22    2 : tunables    0    0    0 : slabdata      1      1      0
request_queue          9     25   1296   25    8 : tunables    0    0    0 : slabdata      1      1      0
blkdev_ioc             0      0    112   36    1 : tunables    0    0    0 : slabdata      0      0      0
bio-168                2     30    272   30    2 : tunables    0    0    0 : slabdata      1      1      0
biovec-max            48     49   4208    7    8 : tunables    0    0    0 : slabdata      7      7      0
biovec-128             0      0   2160   15    8 : tunables    0    0    0 : slabdata      0      0      0
biovec-64              0      0   1136   28    8 : tunables    0    0    0 : slabdata      0      0      0
biovec-16              0      0    368   22    2 : tunables    0    0    0 : slabdata      0      0      0
bio_integrity_payload      2     30    272   30    2 : tunables    0    0    0 : slabdata      1      1      0
user_namespace         0      0    736   22    4 : tunables    0    0    0 : slabdata      0      0      0
uid_cache              0      0    288   28    2 : tunables    0    0    0 : slabdata      0      0      0
audit_buffer           0     34    120   34    1 : tunables    0    0    0 : slabdata      1      1      0
sock_inode_cache      40     64   1008   32    8 : tunables    0    0    0 : slabdata      2      2      0
skbuff_ext_cache       0      0    208   39    2 : tunables    0    0    0 : slabdata      0      0      0
skbuff_small_head      0     25    640   25    4 : tunables    0    0    0 : slabdata      1      1      0
skbuff_fclone_cache      0     29    560   29    4 : tunables    0    0    0 : slabdata      1      1      0
skbuff_head_cache     52     72    336   24    2 : tunables    0    0    0 : slabdata      3      3      0
configfs_dir_cache      0      0    184   22    1 : tunables    0    0    0 : slabdata      0      0      0
file_lock_cache        0      0    280   29    2 : tunables    0    0    0 : slabdata      0      0      0
file_lock_cache        0     26    312   26    2 : tunables    0    0    0 : slabdata      1      1      0
file_lock_ctx          2     23    176   23    1 : tunables    0    0    0 : slabdata      1      1      0
fsnotify_mark_connector      0      0    152   26    1 : tunables    0    0    0 : slabdata      0      0      0
buffer_head            0      0    232   35    2 : tunables    0    0    0 : slabdata      0      0      0
task_delay_info        0      0    264   31    2 : tunables    0    0    0 : slabdata      0      0      0
taskstats              0      0    528   31    4 : tunables    0    0    0 : slabdata      0      0      0
proc_dir_entry       517    529    352   23    2 : tunables    0    0    0 : slabdata     23     23      0
pde_opener             0     30    136   30    1 : tunables    0    0    0 : slabdata      1      1      0
proc_inode_cache      12     35    928   35    8 : tunables    0    0    0 : slabdata      1      1      0
seq_file               1     33    248   33    2 : tunables    0    0    0 : slabdata      1      1      0
sigqueue               0     23    176   23    1 : tunables    0    0    0 : slabdata      1      1      0
bdev_cache            10     19   1696   19    8 : tunables    0    0    0 : slabdata      1      1      0
shmem_inode_cache    525    527   1056   31    8 : tunables    0    0    0 : slabdata     17     17      0
kernfs_iattrs_cache      0      0    208   39    2 : tunables    0    0    0 : slabdata      0      0      0
kernfs_node_cache   9323  10045    232   35    2 : tunables    0    0    0 : slabdata    287    287      0
mnt_cache             23     36    448   36    4 : tunables    0    0    0 : slabdata      1      1      0
filp                  37     74    432   37    4 : tunables    0    0    0 : slabdata      2      2      0
inode_cache         1134   1140    856   38    8 : tunables    0    0    0 : slabdata     30     30      0
dentry              1674   1700    320   25    2 : tunables    0    0    0 : slabdata     68     68      0
names_cache            0      7   4208    7    8 : tunables    0    0    0 : slabdata      1      1      0
net_namespace          0      0   3776    8    8 : tunables    0    0    0 : slabdata      0      0      0
key_jar                3     23    352   23    2 : tunables    0    0    0 : slabdata      1      1      0
uts_namespace          0      0    528   31    4 : tunables    0    0    0 : slabdata      0      0      0
nsproxy                1     24    168   24    1 : tunables    0    0    0 : slabdata      1      1      0
vm_area_struct       111    175    232   35    2 : tunables    0    0    0 : slabdata      5      5      0
fs_cache              13     21    192   21    1 : tunables    0    0    0 : slabdata      1      1      0
files_cache           13     20    816   20    4 : tunables    0    0    0 : slabdata      1      1      0
signal_cache          56     72   1344   24    8 : tunables    0    0    0 : slabdata      3      3      0
sighand_cache         56     72   1728   18    8 : tunables    0    0    0 : slabdata      4      4      0
task_struct           53     60   3088   10    8 : tunables    0    0    0 : slabdata      6      6      0
cred                  66     84    288   28    2 : tunables    0    0    0 : slabdata      3      3      0
anon_vma_chain        85    125    160   25    1 : tunables    0    0    0 : slabdata      5      5      0
anon_vma              67    148    216   37    2 : tunables    0    0    0 : slabdata      4      4      0
pid                   51     84    288   28    2 : tunables    0    0    0 : slabdata      3      3      0
pool_workqueue       277    294   1536   21    8 : tunables    0    0    0 : slabdata     14     14      0
maple_node            83    105    768   21    4 : tunables    0    0    0 : slabdata      5      5      0
radix_tree_node      240    312    672   24    4 : tunables    0    0    0 : slabdata     13     13      0
mm_struct              6     24   1312   24    8 : tunables    0    0    0 : slabdata      1      1      0
vmap_area             32     48    168   24    1 : tunables    0    0    0 : slabdata      2      2      0
debug_objects_cache   2156   2968     72   56    1 : tunables    0    0    0 : slabdata     53     53      0
page->ptl             39     96    128   32    1 : tunables    0    0    0 : slabdata      3      3      0
kmalloc-cg-8k          0      0  24576    1    8 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-cg-4k         15     16  12288    2    8 : tunables    0    0    0 : slabdata      8      8      0
kmalloc-cg-2k         28     30   6144    5    8 : tunables    0    0    0 : slabdata      6      6      0
kmalloc-cg-1k         16     20   3072   10    8 : tunables    0    0    0 : slabdata      2      2      0
kmalloc-cg-512        22     42   1536   21    8 : tunables    0    0    0 : slabdata      2      2      0
kmalloc-cg-256        11     21    768   21    4 : tunables    0    0    0 : slabdata      1      1      0
kmalloc-cg-128        28     42    384   21    2 : tunables    0    0    0 : slabdata      2      2      0
kmalloc-cg-64          0      0    256   32    2 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-cg-32          0     25    160   25    1 : tunables    0    0    0 : slabdata      1      1      0
kmalloc-cg-16         21     32    128   32    1 : tunables    0    0    0 : slabdata      1      1      0
kmalloc-cg-192        20     26    304   26    2 : tunables    0    0    0 : slabdata      1      1      0
kmalloc-cg-96          5     39    208   39    2 : tunables    0    0    0 : slabdata      1      1      0
kmalloc-rcl-8k         0      0  24576    1    8 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-rcl-4k         0      0  12288    2    8 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-rcl-2k         0      0   6144    5    8 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-rcl-1k         0      0   3072   10    8 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-rcl-512        0      0   1536   21    8 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-rcl-256        0      0    768   21    4 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-rcl-128        0      0    384   21    2 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-rcl-64         0     32    256   32    2 : tunables    0    0    0 : slabdata      1      1      0
kmalloc-rcl-32         0      0    160   25    1 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-rcl-16         0      0    128   32    1 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-rcl-192        0      0    304   26    2 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-rcl-96         0      0    208   39    2 : tunables    0    0    0 : slabdata      0      0      0
kmalloc-8k             9      9  24576    1    8 : tunables    0    0    0 : slabdata      9      9      0
kmalloc-4k            15     20  12288    2    8 : tunables    0    0    0 : slabdata     10     10      0
kmalloc-2k            60     65   6144    5    8 : tunables    0    0    0 : slabdata     13     13      0
kmalloc-1k           326    350   3072   10    8 : tunables    0    0    0 : slabdata     35     35      0
kmalloc-512          151    189   1536   21    8 : tunables    0    0    0 : slabdata      9      9      0
kmalloc-256          314    378    768   21    4 : tunables    0    0    0 : slabdata     18     18      0
kmalloc-128          341    357    384   21    2 : tunables    0    0    0 : slabdata     17     17      0
kmalloc-64          1881   1888    256   32    2 : tunables    0    0    0 : slabdata     59     59      0
kmalloc-32          1836   1850    160   25    1 : tunables    0    0    0 : slabdata     74     74      0
kmalloc-16          1226   1312    128   32    1 : tunables    0    0    0 : slabdata     41     41      0
kmalloc-192          296    312    304   26    2 : tunables    0    0    0 : slabdata     12     12      0
kmalloc-96           538    546    208   39    2 : tunables    0    0    0 : slabdata     14     14      0
kmem_cache_node      197    210    192   21    1 : tunables    0    0    0 : slabdata     10     10      0
kmem_cache           197    200    320   25    2 : tunables    0    0    0 : slabdata      8      8      0
/ # 
#27 lore raw
Quoted 3 lines · Guenter Roeck
kmem_cache_node      197    210    192   21    1 : tunables    0    0    0 : slabdata     10     10      0
kmem_cache           197    200    320   25    2 : tunables    0    0    0 : slabdata      8      8      0

Hmm. Do we have some alignment confusion?

The alignment rules for 192 are to align it to 64-byte boundaries (because that's the largest power of two that divides it), and that means it stays at 192, and that would give 21 objects per 4kB page.

But if we use the "align up to next power of two", you get 256 bytes, and 16 objects per page.

And that 21-vs-16 confusion would seem to match this pretty well:

  [    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16

which makes me wonder...

Linus

#28 lore raw

[ Adding s390 people, this is strange ]

New people, see

https://lore.kernel.org/all/CAHk-=wjmumbT73xLkSAnnxDwaFE__Ny=QCp6B_LE2aG1SUqiTg@mail.gmail.com/

for context. There's a heisenbug that depends on random code layout issues on s390.

Quoted 7 lines · Linus Torvalds

Hmm. Do we have some alignment confusion?

The alignment rules for 192 are to align it to 64-byte boundaries (because that's the largest power of two that divides it), and that means it stays at 192, and that would give 21 objects per 4kB page.

Quoted 8 lines

But if we use the "align up to next power of two", you get 256 bytes, and 16 objects per page.

And that 21-vs-16 confusion would seem to match this pretty well:

  [    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16

which makes me wonder...

I'd suspect commit ad59baa31695 ("slab, rust: extend kmalloc() alignment guarantees to remove Rust padding"), perhaps with some odd s390 code generation issue for 'ffs()'.

IOW, this new code in mm/slab_common.c

if (flags & SLAB_KMALLOC)
align = max(align, 1U << (ffs(size) - 1));

might not match some other alignment code.

Or maybe it's the s390 ffs().

It looks like

  static inline int ffs(int word)
  {
        unsigned long mask = 2 * BITS_PER_LONG - 1;
        unsigned int val = (unsigned int)word;
        return (1 + (__flogr(-val & val) ^ (BITS_PER_LONG - 1))) & mask;

}

where s390 has this very odd "flogr" instruction ("find last one G register"?) for the non-constant case.

That uses a "union register_pair" but only ever uses the "even" register without ever using the full 128-bit part or the odd register. So the other register in the register pair is uninitialized.

Does that cause random compiler issues based on register allocation?

Just for fun, does something like this make any difference?

--- a/arch/s390/include/asm/bitops.h
+++ b/arch/s390/include/asm/bitops.h
@@ -305,6 +305,7 @@ static inline unsigned char __flogr(unsigned long word)

                union register_pair rp;

                rp.even = word;
  +             rp.odd = 0;
                asm volatile(
                        "       flogr   %[rp],%[rp]\n"
                        : [rp] "+d" (rp.pair) : : "cc");

Thomas notices that the special "div by constant" routines moved around, and I'm not seeing how *that* would matter, but it's all obviously very strange.

Linus

#29 lore raw
Quoted 3 lines · Linus Torvalds

where s390 has this very odd "flogr" instruction ("find last one G register"?) for the non-constant case.

Close. "Find Leftmost One" with GR apparently just being "General Register".

Linus

#30 lore raw
In reply to Linus Torvalds
Quoted 2 lines · Linus Torvalds

[ Adding s390 people, this is strange ]

Did I get lost somewhere ? I am seeing this with parisc (64 bit), not s390.

Thanks,
Guenter

Quoted 76 lines

New people, see

https://lore.kernel.org/all/CAHk-=wjmumbT73xLkSAnnxDwaFE__Ny=QCp6B_LE2aG1SUqiTg@mail.gmail.com/

for context. There's a heisenbug that depends on random code layout issues on s390.

Quoted 7 lines · Linus Torvalds

Hmm. Do we have some alignment confusion?

The alignment rules for 192 are to align it to 64-byte boundaries (because that's the largest power of two that divides it), and that means it stays at 192, and that would give 21 objects per 4kB page.

Quoted 8 lines

But if we use the "align up to next power of two", you get 256 bytes, and 16 objects per page.

And that 21-vs-16 confusion would seem to match this pretty well:

   [    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16

which makes me wonder...

I'd suspect commit ad59baa31695 ("slab, rust: extend kmalloc() alignment guarantees to remove Rust padding"), perhaps with some odd s390 code generation issue for 'ffs()'.

IOW, this new code in mm/slab_common.c

if (flags & SLAB_KMALLOC)
align = max(align, 1U << (ffs(size) - 1));

might not match some other alignment code.

Or maybe it's the s390 ffs().

It looks like

   static inline int ffs(int word)
   {
         unsigned long mask = 2 * BITS_PER_LONG - 1;
         unsigned int val = (unsigned int)word;
         return (1 + (__flogr(-val & val) ^ (BITS_PER_LONG - 1))) & mask;

}

where s390 has this very odd "flogr" instruction ("find last one G register"?) for the non-constant case.

That uses a "union register_pair" but only ever uses the "even" register without ever using the full 128-bit part or the odd register. So the other register in the register pair is uninitialized.

Does that cause random compiler issues based on register allocation?

Just for fun, does something like this make any difference?

   --- a/arch/s390/include/asm/bitops.h
   +++ b/arch/s390/include/asm/bitops.h
   @@ -305,6 +305,7 @@ static inline unsigned char __flogr(unsigned long word)
                 union register_pair rp;

                 rp.even = word;
   +             rp.odd = 0;
                 asm volatile(
                         "       flogr   %[rp],%[rp]\n"
                         : [rp] "+d" (rp.pair) : : "cc");

Thomas notices that the special "div by constant" routines moved around, and I'm not seeing how *that* would matter, but it's all obviously very strange.

Linus

#31 lore raw
Quoted 5 lines · Guenter Roeck
Quoted 1 line · Linus Torvalds

[ Adding s390 people, this is strange ]

Did I get lost somewhere ? I am seeing this with parisc (64 bit), not s390.

Duh. Sorry for the noise. I don't know why I thought this was s390.

The parisc __ffs() is also using some grotty inline asm, but I don't see how the compiler could make a mess of it.

Linus

#32 lore raw
Quoted 11 lines · Linus Torvalds
Quoted 5 lines · Guenter Roeck
Quoted 1 line · Linus Torvalds

[ Adding s390 people, this is strange ]

Did I get lost somewhere ? I am seeing this with parisc (64 bit), not s390.

Duh. Sorry for the noise. I don't know why I thought this was s390.

The parisc __ffs() is also using some grotty inline asm, but I don't see how the compiler could make a mess of it.

Note the alignment rules only apply to generic kmalloc-* caches, not "named" specific caches, such as kmem_cache and kmem_cache_node.

Quoted 1 line

Linus

#33 lore raw
Quoted 8 lines · Vlastimil Babka
Quoted 7 lines · Linus Torvalds
Quoted 5 lines · Guenter Roeck
Quoted 1 line · Linus Torvalds

[ Adding s390 people, this is strange ]

Did I get lost somewhere ? I am seeing this with parisc (64 bit), not s390.

Quoted 7 lines
Quoted 4 lines

Duh. Sorry for the noise. I don't know why I thought this was s390.

The parisc __ffs() is also using some grotty inline asm, but I don't see how the compiler could make a mess of it.

Note the alignment rules only apply to generic kmalloc-* caches, not "named" specific caches, such as kmem_cache and kmem_cache_node.

Also to clarify why objsize looks odd in the slabinfo for the kmalloc caches, e.g. kmalloc-64 has 256 etc. That's also not because of wrong alignment calculations, but because full slub_debug is enabled for everything (CONFIG_SLUB_DEBUG_ON=y) so there's lots of metadata, redzones etc. (it's also why these consistency checks are executed). The column says <objsize> but it's actually reporting the full s->size, not only the actual object...

Quoted 2 lines
Quoted 1 line

Linus

#34 lore raw
In reply to Linus Torvalds

On Tue, Aug 06, 2024 at 10:49:58AM -0700, Linus Torvalds wrote:

Hi Linus,

Though this turned out to be a parisc issue, I'll still answer in case you are interested.

...

Quoted 10 lines

Or maybe it's the s390 ffs().

It looks like

  static inline int ffs(int word)
  {
        unsigned long mask = 2 * BITS_PER_LONG - 1;
        unsigned int val = (unsigned int)word;
        return (1 + (__flogr(-val & val) ^ (BITS_PER_LONG - 1))) & mask;
Quoted 8 lines

}

where s390 has this very odd "flogr" instruction ("find last one G register"?) for the non-constant case.

That uses a "union register_pair" but only ever uses the "even" register without ever using the full 128-bit part or the odd register. So the other register in the register pair is uninitialized.

In case of "flogr" instruction the odd register contains output data only. There is no need to initialize it.

Quoted 1 line

Does that cause random compiler issues based on register allocation?

Using the register_pair guarantees that an even+odd register pair is "reserved". As result, the register allocation prevents "flogr" instruction from corrupting otherwise random odd register.

Quoted 12 lines

Just for fun, does something like this make any difference?

--- a/arch/s390/include/asm/bitops.h
+++ b/arch/s390/include/asm/bitops.h
@@ -305,6 +305,7 @@ static inline unsigned char __flogr(unsigned long word)

                union register_pair rp;

                rp.even = word;
  +             rp.odd = 0;
                asm volatile(
                        "       flogr   %[rp],%[rp]\n"
                        : [rp] "+d" (rp.pair) : : "cc");

...

Quoted 1 line

Linus

Thanks!

#35 lore raw
In reply to Vlastimil Babka
Quoted 3 lines · Vlastimil Babka

On 8/6/24 04:40, Linus Torvalds wrote:
It looks like maxobj calculation is bogus, would be useful to see what values it calculates from. I'm attaching a diff, but maybe it will also hide the issue...

It does hide it :(

Quoted 9 lines

If someone has a /proc/slabinfo from a working boot with otherwise same config it might be also enough to guess what values should be expected there, at least the s-size.

objects=21 vs 25 also seem odd though

used=5 with used=6 in the first two also suggests we already passed this code successfully for creating a number of kmalloc caches and only then it started failing, that's also weird.

I added a printk() to check_slab() and on the non-failing boot this looks like:

[    0.000000] c 000000004017b0f8 c 0000000041ed0000 objects 21 max 21 order 0 size 192, inuse 2
[    0.000000] c 000000004017b1c8 c 0000000041ed0080 objects 25 max 25 order 1 size 320, inuse 1
[    0.000000] c 0000000043402010 c 0000000041ed0080 objects 25 max 25 order 1 size 320, inuse 2
[    0.000000] c 0000000043402010 c 0000000041ed0080 objects 25 max 25 order 1 size 320, inuse 3
[    0.000000] c 0000000043402150 c 0000000041ed0000 objects 21 max 21 order 0 size 192, inuse 3
[    0.000000] c 0000000043402010 c 0000000041ed0080 objects 25 max 25 order 1 size 320, inuse 4
[    0.000000] c 0000000043402150 c 0000000041ed0000 objects 21 max 21 order 0 size 192, inuse 4
[    0.000000] c 0000000043402010 c 0000000041ed0080 objects 25 max 25 order 1 size 320, inuse 5
[    0.000000] c 0000000043402150 c 0000000041ed0000 objects 21 max 21 order 0 size 192, inuse 5
[    0.000000] c 0000000043402010 c 0000000041ed0080 objects 25 max 25 order 1 size 320, inuse 6
[    0.000000] c 0000000043402150 c 0000000041ed0000 objects 21 max 21 order 0 size 192, inuse 6

I did some more experiments to figure out why adding or removing text cures it. The minimal change which makes it boot again is:

asmlinkage __visible void __softirq_entry __do_softirq(void) {
+ current->flags &= ~PF_MEMALLOC;
handle_softirqs(false);
}

That results in the following System.map delta:

build-misc/System.map renamed from upstream.txt +9 -9
@@ -47600,15 +47600,15 @@
 0000000041218c30 T __do_softirq
 0000000041218c30 T __irqentry_text_end
 0000000041218c30 T __softirqentry_text_start
-0000000041218c70 T $$divoI
-0000000041218c70 T __softirqentry_text_end
-00000000412190d0 T $$divI_2
-00000000412190d0 T $$divide_by_constant
-00000000412190e0 T $$divI_4
-00000000412190f0 T $$divI_8
-0000000041219100 T $$divI_16
-00000000412192d8 T $$divI_17
-000000004121930c T $$divU_17
+0000000041218c80 T $$divoI
+0000000041218c80 T __softirqentry_text_end
+00000000412190e0 T $$divI_2
+00000000412190e0 T $$divide_by_constant
+00000000412190f0 T $$divI_4
+0000000041219100 T $$divI_8
+0000000041219110 T $$divI_16
+00000000412192e8 T $$divI_17
+000000004121931c T $$divU_17
 000000004121a000 D __start_opd
 000000004121a000 D _etext
 000000004121a000 D _sdata

So this change adds 16 bytes to __softirq() which moves the division functions up by 16 bytes. That's all it takes to make the stupid go away....

I wonder whether this is some qemu stupid.

Thanks,

tglx

#36 lore raw
Quoted 71 lines · Thomas Gleixner
Quoted 3 lines · Vlastimil Babka

On 8/6/24 04:40, Linus Torvalds wrote:
It looks like maxobj calculation is bogus, would be useful to see what values it calculates from. I'm attaching a diff, but maybe it will also hide the issue...

It does hide it :(

Quoted 9 lines

If someone has a /proc/slabinfo from a working boot with otherwise same config it might be also enough to guess what values should be expected there, at least the s-size.

objects=21 vs 25 also seem odd though

used=5 with used=6 in the first two also suggests we already passed this code successfully for creating a number of kmalloc caches and only then it started failing, that's also weird.

I added a printk() to check_slab() and on the non-failing boot this looks like:

[    0.000000] c 000000004017b0f8 c 0000000041ed0000 objects 21 max 21 order 0 size 192, inuse 2
[    0.000000] c 000000004017b1c8 c 0000000041ed0080 objects 25 max 25 order 1 size 320, inuse 1
[    0.000000] c 0000000043402010 c 0000000041ed0080 objects 25 max 25 order 1 size 320, inuse 2
[    0.000000] c 0000000043402010 c 0000000041ed0080 objects 25 max 25 order 1 size 320, inuse 3
[    0.000000] c 0000000043402150 c 0000000041ed0000 objects 21 max 21 order 0 size 192, inuse 3
[    0.000000] c 0000000043402010 c 0000000041ed0080 objects 25 max 25 order 1 size 320, inuse 4
[    0.000000] c 0000000043402150 c 0000000041ed0000 objects 21 max 21 order 0 size 192, inuse 4
[    0.000000] c 0000000043402010 c 0000000041ed0080 objects 25 max 25 order 1 size 320, inuse 5
[    0.000000] c 0000000043402150 c 0000000041ed0000 objects 21 max 21 order 0 size 192, inuse 5
[    0.000000] c 0000000043402010 c 0000000041ed0080 objects 25 max 25 order 1 size 320, inuse 6
[    0.000000] c 0000000043402150 c 0000000041ed0000 objects 21 max 21 order 0 size 192, inuse 6

I did some more experiments to figure out why adding or removing text cures it. The minimal change which makes it boot again is:

asmlinkage __visible void __softirq_entry __do_softirq(void) {

(quoted diff) +1 -0
+	current->flags &= ~PF_MEMALLOC;
 	handle_softirqs(false);
 }

That results in the following System.map delta:

build-misc/System.map renamed from upstream.txt +9 -9
@@ -47600,15 +47600,15 @@
 0000000041218c30 T __do_softirq
 0000000041218c30 T __irqentry_text_end
 0000000041218c30 T __softirqentry_text_start
-0000000041218c70 T $$divoI
-0000000041218c70 T __softirqentry_text_end
-00000000412190d0 T $$divI_2
-00000000412190d0 T $$divide_by_constant
-00000000412190e0 T $$divI_4
-00000000412190f0 T $$divI_8
-0000000041219100 T $$divI_16
-00000000412192d8 T $$divI_17
-000000004121930c T $$divU_17
+0000000041218c80 T $$divoI
+0000000041218c80 T __softirqentry_text_end
+00000000412190e0 T $$divI_2
+00000000412190e0 T $$divide_by_constant
+00000000412190f0 T $$divI_4
+0000000041219100 T $$divI_8
+0000000041219110 T $$divI_16
+00000000412192e8 T $$divI_17
+000000004121931c T $$divU_17
 000000004121a000 D __start_opd
 000000004121a000 D _etext
 000000004121a000 D _sdata
Quoted 3 lines

So this change adds 16 bytes to __softirq() which moves the division functions up by 16 bytes. That's all it takes to make the stupid go away....

Heh I was actually wondering if the division is somhow messed up because maxobj = order_objects() and order_objects() does a division. Now I suspect it even more.

Quoted 5 lines

I wonder whether this is some qemu stupid.

Thanks,

tglx

#37 lore raw

Cc+: Helge, parisc ML

We're chasing a weird failure which has been tracked down to the placement of the division library functions (I assume they are imported from libgcc).

See the thread starting at:

https://lore.kernel.org/all/[email protected]

Quoted 9 lines · Vlastimil Babka
Quoted 4 lines · Thomas Gleixner

So this change adds 16 bytes to __softirq() which moves the division functions up by 16 bytes. That's all it takes to make the stupid go away....

Heh I was actually wondering if the division is somhow messed up because maxobj = order_objects() and order_objects() does a division. Now I suspect it even more.

check_slab() calls into that muck, but I checked the disassembly of a working and a broken kernel and the only difference there is the displacement offset when the code calculates the call address, but that's as expected a difference of 16 bytes.

Now it becomes interesting.

I added a unused function after __do_softirq() into the softirq text section and filled it with ASM nonsense so that it occupies exactly one page. That moves $$divoI, which is what check_slab() calls, exactly one page forward:

    -0000000041218c70 T $$divoI
    +0000000041219c70 T $$divoI

Guess what happens? If falls on it's nose again.

Now with that ASM gunk I can steer the size conveniently. It works up to:

    0000000041219c50 T $$divoI

and fails for

    0000000041219c60 T $$divoI
    0000000041219c70 T $$divoI

and works again at

    0000000041219c80 T $$divoI

So I added the following:

+extern void testme(void);
+extern unsigned int testsize;
+
+unsigned int testsize = 192;
+
+void __init testme(void)
+{
+ pr_info("TESTME: %lu\n", PAGE_SIZE / testsize);
+}

called that _before_ mm_core_init() from init/main.c and adjusted my ASM hack to make $$divoI be at:

    0000000041219c70 T $$divoI

again and surprisingly the output is:

    [    0.000000] softirq: TESTME: 21

Now I went back to the hppa64 gcc version 12.2.0 again and did the same ASM gunk adjustment so that $$divoI ends up at the offset 0xc70 in the page and the same happens.

So it's not a compiler dependent problem.

But then I added a testme() call to the error path and get:

[    0.000000] softirq: TESTME: 21
[    0.000000] =============================================================================
[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16 size 192 sorder 0

Now what's wrong?

Adding more debug:

[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16 size 192 sorder 0 21

where the last '21' is the output of the same call which made maxobj go south:

static int check_slab(struct kmem_cache *s, struct slab *slab) {
int maxobj;
@@ -1386,8 +1388,10 @@ static int check_slab(struct kmem_cache

maxobj = order_objects(slab_order(slab), s->size); if (slab->objects > maxobj) {
- slab_err(s, slab, "objects %u > max %u",
- slab->objects, maxobj);
+ testme();
+ slab_err(s, slab, "objects %u > max %u size %u sorder %u %u",
+ slab->objects, maxobj, s->size, slab_order(slab),
+ order_objects(slab_order(slab), s->size));
return 0;
}
if (slab->inuse > slab->objects) {

I don't know and I don't want to know TBH...

Thanks,

tglx

maintainer
#38 lore raw
Quoted 51 lines · Thomas Gleixner

Cc+: Helge, parisc ML

We're chasing a weird failure which has been tracked down to the placement of the division library functions (I assume they are imported
from libgcc).

See the thread starting at:


https://lore.kernel.org/all/[email protected]

Quoted 8 lines · Vlastimil Babka
Quoted 6 lines · Thomas Gleixner

So this change adds 16 bytes to __softirq() which moves the division
functions up by 16 bytes. That's all it takes to make the stupid go
away....

Quoted 5 lines

Heh I was actually wondering if the division is somhow messed up because
maxobj = order_objects() and order_objects() does a division. Now I suspect
it even more.

check_slab() calls into that muck, but I checked the disassembly of a working and a broken kernel and the only difference there is the displacement offset when the code calculates the call address, but that's as expected a difference of 16 bytes.

Now it becomes interesting.

I added a unused function after __do_softirq() into the softirq text section and filled it with ASM nonsense so that it occupies exactly one
page. That moves $$divoI, which is what check_slab() calls, exactly one
page forward:

    -0000000041218c70 T $$divoI
    +0000000041219c70 T $$divoI

Guess what happens? If falls on it's nose again.

Now with that ASM gunk I can steer the size conveniently. It works up to:

    0000000041219c50 T $$divoI

Quoted 8 lines

and fails for

    0000000041219c60 T $$divoI
    0000000041219c70 T $$divoI

and works again at

    0000000041219c80 T $$divoI

So just on this, you seem to have proved that only exact multiples of 48 work. In terms of how PA-RISC caching works that's completely nuts ... however, there may be something else at work, like stack frame alignment.

Quoted 13 lines

So I added the following:

(quoted diff) +9 -0
+extern void testme(void);
+extern unsigned int testsize;
+
+unsigned int testsize = 192;
+
+void __init testme(void)
+{
+       pr_info("TESTME: %lu\n", PAGE_SIZE / testsize);
+}
Quoted 8 lines

called that _before_ mm_core_init() from init/main.c and adjusted my ASM hack to make $$divoI be at:

    0000000041219c70 T $$divoI

again and surprisingly the output is:

    [    0.000000] softirq: TESTME: 21

OK, why is that surprising? 4096/192 is 21 due to integer rounding.

Quoted 45 lines

Now I went back to the hppa64 gcc version 12.2.0 again and did the same ASM gunk adjustment so that $$divoI ends up at the offset 0xc70 in the page and the same happens.

So it's not a compiler dependent problem.

But then I added a testme() call to the error path and get:

[    0.000000] softirq: TESTME: 21
[    0.000000]
=====================================================================
========
[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16 size 192 sorder 0

Now what's wrong?

Adding more debug:

[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16 size 192 sorder 0 21

where the last '21' is the output of the same call which made maxobj go
south:

 static int check_slab(struct kmem_cache *s, struct slab *slab) {
        int maxobj;

(quoted diff) +0 -0
@@ -1386,8 +1388,10 @@ static int check_slab(struct kmem_cache


        maxobj = order_objects(slab_order(slab), s->size); if (slab->objects > maxobj) {
-               slab_err(s, slab, "objects %u > max %u",
-                       slab->objects, maxobj);
+               testme();
+               slab_err(s, slab, "objects %u > max %u size %u sorder %u %u",
+                        slab->objects, maxobj, s->size, slab_order(slab),
+                        order_objects(slab_order(slab), s->size)); return 0;
        }
        if (slab->inuse > slab->objects) {

Quoted 1 line

I don't know and I don't want to know TBH...

OK, so you're telling us we have a problem with slab_order on parisc ... that's folio_order, so it smells like a parisc bug with folio_test_large? Unfortuntely I'm a bit pissed in an airport lounge on my way to the UK, so I've lost access to my pa test rig and can't test further for a while.

Regards,

James

#39 lore raw
Quoted 82 lines · James Bottomley
Quoted 51 lines · Thomas Gleixner

Cc+: Helge, parisc ML

We're chasing a weird failure which has been tracked down to the placement of the division library functions (I assume they are imported
from libgcc).

See the thread starting at:

https://lore.kernel.org/all/[email protected]

Quoted 8 lines · Vlastimil Babka
Quoted 6 lines · Thomas Gleixner

So this change adds 16 bytes to __softirq() which moves the division
functions up by 16 bytes. That's all it takes to make the stupid go
away....

Quoted 5 lines

Heh I was actually wondering if the division is somhow messed up because
maxobj = order_objects() and order_objects() does a division. Now I suspect
it even more.

check_slab() calls into that muck, but I checked the disassembly of a working and a broken kernel and the only difference there is the displacement offset when the code calculates the call address, but that's as expected a difference of 16 bytes.

Now it becomes interesting.

I added a unused function after __do_softirq() into the softirq text section and filled it with ASM nonsense so that it occupies exactly one
page. That moves $$divoI, which is what check_slab() calls, exactly one
page forward:

    -0000000041218c70 T $$divoI
    +0000000041219c70 T $$divoI

Guess what happens? If falls on it's nose again.

Now with that ASM gunk I can steer the size conveniently. It works up to:

    0000000041219c50 T $$divoI

Quoted 8 lines

and fails for

    0000000041219c60 T $$divoI
    0000000041219c70 T $$divoI

and works again at

    0000000041219c80 T $$divoI

So just on this, you seem to have proved that only exact multiples of 48 work. In terms of how PA-RISC caching works that's completely nuts ... however, there may be something else at work, like stack frame alignment.

Quoted 16 lines

So I added the following:

(quoted diff) +9 -0
+extern void testme(void);
+extern unsigned int testsize;
+
+unsigned int testsize = 192;
+
+void __init testme(void)
+{
+       pr_info("TESTME: %lu\n", PAGE_SIZE / testsize);
+}

called that _before_ mm_core_init() from init/main.c and adjusted my ASM hack to make $$divoI be at:

Quoted 8 lines
Quoted 5 lines

    0000000041219c70 T $$divoI

again and surprisingly the output is:

    [    0.000000] softirq: TESTME: 21

OK, why is that surprising? 4096/192 is 21 due to integer rounding.

Problem is that it sometimes wrongly returns 16. But not always. The surprise may be that it is not consistently wrong, even if divU is at the same location.

Quoted 45 lines
Quoted 45 lines

Now I went back to the hppa64 gcc version 12.2.0 again and did the same ASM gunk adjustment so that $$divoI ends up at the offset 0xc70 in the page and the same happens.

So it's not a compiler dependent problem.

But then I added a testme() call to the error path and get:

[    0.000000] softirq: TESTME: 21
[    0.000000]
=====================================================================
========
[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16 size 192 sorder 0

Now what's wrong?

Adding more debug:

[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16 size 192 sorder 0 21

where the last '21' is the output of the same call which made maxobj go
south:

 static int check_slab(struct kmem_cache *s, struct slab *slab) {
        int maxobj;

(quoted diff) +4 -2
@@ -1386,8 +1388,10 @@ static int check_slab(struct kmem_cache
 
         maxobj = order_objects(slab_order(slab), s->size);
         if (slab->objects > maxobj) {
-               slab_err(s, slab, "objects %u > max %u",
-                       slab->objects, maxobj);
+               testme();
+               slab_err(s, slab, "objects %u > max %u size %u sorder
 %u %u",
+                        slab->objects, maxobj, s->size,
 slab_order(slab),
+                        order_objects(slab_order(slab), s->size));
                 return 0;

        }
        if (slab->inuse > slab->objects) {

Quoted 8 lines
Quoted 1 line

I don't know and I don't want to know TBH...

OK, so you're telling us we have a problem with slab_order on parisc ... that's folio_order, so it smells like a parisc bug with folio_test_large? Unfortuntely I'm a bit pissed in an airport lounge on my way to the UK, so I've lost access to my pa test rig and can't test further for a while.

I think the problem is rather that divU, for some unknown reason, sometimes returns bad results. The divU implementation in libgcc isn't exactly easy to understand. There may be some context problem, such as the upper bits of some register not being cleared under some circumstances. Look at my recent commits into arch/parisc for examples how similar problems survived for a long time in the Linux kernel.

I'd strongly suspect a qemu emulation problem if it wasn't for those other problems. Still, I think it is very likely that the problem lies in qemu, but we might need a confirmation one way or the other from a test on real hardware.

Thanks,
Guenter

#40 lore raw
In reply to James Bottomley
Quoted 20 lines · James Bottomley
Quoted 19 lines · Thomas Gleixner

 static int check_slab(struct kmem_cache *s, struct slab *slab) {
        int maxobj;

(quoted diff) +0 -0
@@ -1386,8 +1388,10 @@ static int check_slab(struct kmem_cache


        maxobj = order_objects(slab_order(slab), s->size); if (slab->objects > maxobj) {
-               slab_err(s, slab, "objects %u > max %u",
-                       slab->objects, maxobj);
+               testme();
+               slab_err(s, slab, "objects %u > max %u size %u sorder %u %u",
+                        slab->objects, maxobj, s->size, slab_order(slab),
+                        order_objects(slab_order(slab), s->size)); return 0;
        }
        if (slab->inuse > slab->objects) {

Quoted 7 lines
Quoted 1 line

I don't know and I don't want to know TBH...

OK, so you're telling us we have a problem with slab_order on parisc ... that's folio_order, so it smells like a parisc bug with folio_test_large? Unfortuntely I'm a bit pissed in an airport lounge on my way to the UK, so I've lost access to my pa test rig and can't test further for a while.

The point is that there are two invocations for order_objects(...) in that code.

	maxobj = order_objects(slab_order(slab), s->size);

and the extra one in the slab_err() output:

        slab_err(s, slab, "objects %u > max %u size %u sorder %u %u",
		 slab->objects, maxobj, s->size,slab_order(slab),
                 order_objects(slab_order(slab), s->size));
Quoted 2 lines
Quoted 2 lines

[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16 size 192 sorder 0 21

So maxobj = 16 and the second invocation correctly returns 21, if and only if the $$divoI placement is in that weird range.

When I move it out of that range then both return 21 as expected.

Thanks,

tglx

#41 lore raw
In reply to Thomas Gleixner
Quoted 26 lines · Thomas Gleixner

Cc+: Helge, parisc ML

We're chasing a weird failure which has been tracked down to the placement of the division library functions (I assume they are imported from libgcc).

See the thread starting at:

   https://lore.kernel.org/all/[email protected]
Quoted 9 lines · Vlastimil Babka
Quoted 4 lines · Thomas Gleixner

So this change adds 16 bytes to __softirq() which moves the division functions up by 16 bytes. That's all it takes to make the stupid go away....

Heh I was actually wondering if the division is somhow messed up because maxobj = order_objects() and order_objects() does a division. Now I suspect it even more.

check_slab() calls into that muck, but I checked the disassembly of a working and a broken kernel and the only difference there is the displacement offset when the code calculates the call address, but that's as expected a difference of 16 bytes.

Quoted 7 lines

Now it becomes interesting.

I added a unused function after __do_softirq() into the softirq text section and filled it with ASM nonsense so that it occupies exactly one page. That moves $$divoI, which is what check_slab() calls, exactly one page forward:

With the above added to my tree, I can also play around with the code. Here is the next weird one:

mm/slub.c +3 -0
index 4927edec6a8c..b8a33966d858 100644
@@ -1385,6 +1385,9 @@ static int check_slab(struct kmem_cache *s, struct slab *slab)
        }
 
        maxobj = order_objects(slab_order(slab), s->size);
+
+       pr_info_once("##### slab->objects=%u maxobj=%u\n", slab->objects, maxobj);
+
        if (slab->objects > maxobj) {
                slab_err(s, slab, "objects %u > max %u",
                        slab->objects, maxobj);

results in:

##### slab->objects=21 maxobj=21
=============================================================================
BUG kmem_cache_node (Not tainted): objects 21 > max 16

As Thomas noticed, this only happens if the divide assembler code is within a certain address range.

Ok, now I am really lost.

Guenter

#42 lore raw
Quoted 53 lines · Guenter Roeck
Quoted 26 lines · Thomas Gleixner

Cc+: Helge, parisc ML

We're chasing a weird failure which has been tracked down to the placement of the division library functions (I assume they are imported from libgcc).

See the thread starting at:

   https://lore.kernel.org/all/[email protected]
Quoted 9 lines · Vlastimil Babka
Quoted 4 lines · Thomas Gleixner

So this change adds 16 bytes to __softirq() which moves the division functions up by 16 bytes. That's all it takes to make the stupid go away....

Heh I was actually wondering if the division is somhow messed up because maxobj = order_objects() and order_objects() does a division. Now I suspect it even more.

check_slab() calls into that muck, but I checked the disassembly of a working and a broken kernel and the only difference there is the displacement offset when the code calculates the call address, but that's as expected a difference of 16 bytes.

Quoted 7 lines

Now it becomes interesting.

I added a unused function after __do_softirq() into the softirq text section and filled it with ASM nonsense so that it occupies exactly one page. That moves $$divoI, which is what check_slab() calls, exactly one page forward:

With the above added to my tree, I can also play around with the code. Here is the next weird one:

mm/slub.c +3 -0
index 4927edec6a8c..b8a33966d858 100644
@@ -1385,6 +1385,9 @@ static int check_slab(struct kmem_cache *s, struct slab *slab)
         }
 
         maxobj = order_objects(slab_order(slab), s->size);
+
+       pr_info_once("##### slab->objects=%u maxobj=%u\n", slab->objects, maxobj);
+
         if (slab->objects > maxobj) {
                 slab_err(s, slab, "objects %u > max %u",
                         slab->objects, maxobj);
Quoted 5 lines

results in:

##### slab->objects=21 maxobj=21
=============================================================================
BUG kmem_cache_node (Not tainted): objects 21 > max 16

But is this printed from the same attempt? The pr_info_once() might have printed earlier and then stopped (as it's _once) and the error case might have happened only later, and there was nothing printed in between as the kmalloc caches are created in a loop.

Quoted 7 lines

As Thomas noticed, this only happens if the divide assembler code is within a certain address range.

Ok, now I am really lost.

Guenter

#43 lore raw
Quoted 56 lines · Vlastimil Babka
Quoted 55 lines · Guenter Roeck
Quoted 26 lines · Thomas Gleixner

Cc+: Helge, parisc ML

We're chasing a weird failure which has been tracked down to the placement of the division library functions (I assume they are imported from libgcc).

See the thread starting at:

    https://lore.kernel.org/all/[email protected]
Quoted 9 lines · Vlastimil Babka
Quoted 4 lines · Thomas Gleixner

So this change adds 16 bytes to __softirq() which moves the division functions up by 16 bytes. That's all it takes to make the stupid go away....

Heh I was actually wondering if the division is somhow messed up because maxobj = order_objects() and order_objects() does a division. Now I suspect it even more.

check_slab() calls into that muck, but I checked the disassembly of a working and a broken kernel and the only difference there is the displacement offset when the code calculates the call address, but that's as expected a difference of 16 bytes.

Quoted 7 lines

Now it becomes interesting.

I added a unused function after __do_softirq() into the softirq text section and filled it with ASM nonsense so that it occupies exactly one page. That moves $$divoI, which is what check_slab() calls, exactly one page forward:

With the above added to my tree, I can also play around with the code. Here is the next weird one:

mm/slub.c +3 -0
index 4927edec6a8c..b8a33966d858 100644
@@ -1385,6 +1385,9 @@ static int check_slab(struct kmem_cache *s, struct slab *slab)
          }
 
          maxobj = order_objects(slab_order(slab), s->size);
+
+       pr_info_once("##### slab->objects=%u maxobj=%u\n", slab->objects, maxobj);
+
          if (slab->objects > maxobj) {
                  slab_err(s, slab, "objects %u > max %u",
                          slab->objects, maxobj);

results in:

Quoted 9 lines
Quoted 3 lines

##### slab->objects=21 maxobj=21
=============================================================================
BUG kmem_cache_node (Not tainted): objects 21 > max 16

But is this printed from the same attempt? The pr_info_once() might have printed earlier and then stopped (as it's _once) and the error case might have happened only later, and there was nothing printed in between as the kmalloc caches are created in a loop.

No, of course it isn't. Guess it was too late. Sorry for the noise. Here is the updated log, after dropping the _once:

...

[    0.000000] ##### slab->objects=21 maxobj=21
[    0.000000] ##### slab->objects=25 maxobj=25
[    0.000000] ##### slab->objects=21 maxobj=16
[    0.000000] =============================================================================
[    0.000000] BUG kmalloc-256 (Not tainted): objects 21 > max 16

So this works many times and then suddenly fails. I thought it was the other way, that it failed the very first time. Ok, back to debugging.

Thanks!
Guenter

#44 lore raw
In reply to Guenter Roeck
Quoted 16 lines · Guenter Roeck

On 8/6/24 16:24, Thomas Gleixner wrote:

mm/slub.c +3 -0
index 4927edec6a8c..b8a33966d858 100644
@@ -1385,6 +1385,9 @@ static int check_slab(struct kmem_cache *s, struct slab *slab)
         }
 
         maxobj = order_objects(slab_order(slab), s->size);
+
+       pr_info_once("##### slab->objects=%u maxobj=%u\n", slab->objects, maxobj);
+
         if (slab->objects > maxobj) {
                 slab_err(s, slab, "objects %u > max %u",
                         slab->objects, maxobj);
Quoted 5 lines

results in:

##### slab->objects=21 maxobj=21
=============================================================================
BUG kmem_cache_node (Not tainted): objects 21 > max 16

Careful vs. the pr_once(). It's not necessarily the first allocation which trips up. I removed slab_err() in that condition and just printed the data:

[    0.000000] Order: 1 Size:  384 Nobj: 21 Maxobj: 16 21 Inuse: 14
[    0.000000] Order: 0 Size:  168 Nobj: 24 Maxobj: 16 24 Inuse:  1
[    0.000000] Order: 1 Size:  320 Nobj: 25 Maxobj: 16 25 Inuse: 18
[    0.000000] Order: 1 Size:  320 Nobj: 25 Maxobj: 16 25 Inuse: 19
[    0.000000] Order: 1 Size:  320 Nobj: 25 Maxobj: 16 25 Inuse: 20
[    0.000000] Order: 0 Size:  160 Nobj: 25 Maxobj: 16 25 Inuse:  5
[    0.000000] Order: 2 Size:  672 Nobj: 24 Maxobj: 16 24 Inuse:  1
[    0.000000] Order: 3 Size: 1536 Nobj: 21 Maxobj: 16 21 Inuse:  1
[    0.000000] Order: 3 Size: 1536 Nobj: 21 Maxobj: 16 21 Inuse:  2
[    0.000000] Order: 3 Size: 1536 Nobj: 21 Maxobj: 16 21 Inuse: 10

The maxobj column shows the failed result and the result from the second invocation inside of the printk().

Let's wait for PARISC people to run it on actual hardware.

Thanks,

tglx

#45 lore raw
Quoted 17 lines · Thomas Gleixner
Quoted 16 lines · Guenter Roeck

On 8/6/24 16:24, Thomas Gleixner wrote:

mm/slub.c +3 -0
index 4927edec6a8c..b8a33966d858 100644
@@ -1385,6 +1385,9 @@ static int check_slab(struct kmem_cache *s, struct slab *slab)
          }
 
          maxobj = order_objects(slab_order(slab), s->size);
+
+       pr_info_once("##### slab->objects=%u maxobj=%u\n", slab->objects, maxobj);
+
          if (slab->objects > maxobj) {
                  slab_err(s, slab, "objects %u > max %u",
                          slab->objects, maxobj);
Quoted 7 lines
Quoted 5 lines

results in:

##### slab->objects=21 maxobj=21
=============================================================================
BUG kmem_cache_node (Not tainted): objects 21 > max 16

Careful vs. the pr_once(). It's not necessarily the first allocation

Yes. Thanks for pointing that out. Rookie mistake :-(.

Quoted 14 lines

which trips up. I removed slab_err() in that condition and just printed the data:

[    0.000000] Order: 1 Size:  384 Nobj: 21 Maxobj: 16 21 Inuse: 14
[    0.000000] Order: 0 Size:  168 Nobj: 24 Maxobj: 16 24 Inuse:  1
[    0.000000] Order: 1 Size:  320 Nobj: 25 Maxobj: 16 25 Inuse: 18
[    0.000000] Order: 1 Size:  320 Nobj: 25 Maxobj: 16 25 Inuse: 19
[    0.000000] Order: 1 Size:  320 Nobj: 25 Maxobj: 16 25 Inuse: 20
[    0.000000] Order: 0 Size:  160 Nobj: 25 Maxobj: 16 25 Inuse:  5
[    0.000000] Order: 2 Size:  672 Nobj: 24 Maxobj: 16 24 Inuse:  1
[    0.000000] Order: 3 Size: 1536 Nobj: 21 Maxobj: 16 21 Inuse:  1
[    0.000000] Order: 3 Size: 1536 Nobj: 21 Maxobj: 16 21 Inuse:  2
[    0.000000] Order: 3 Size: 1536 Nobj: 21 Maxobj: 16 21 Inuse: 10
Quoted 5 lines

The maxobj column shows the failed result and the result from the second invocation inside of the printk().

Let's wait for PARISC people to run it on actual hardware.

Agreed. I suspect that there is a carry or upper 32 bit of a register not handled properly, but I have no idea where that might be or why that would only be seen if the div functions are located in a certain address range.

Thanks,
Guenter

#46 lore raw
Quoted 6 lines · Guenter Roeck
Quoted 2 lines

Let's wait for PARISC people to run it on actual hardware.

Agreed. I suspect that there is a carry or upper 32 bit of a register not handled properly, but I have no idea where that might be or why that would only be seen if the div functions are located in a certain address range.

I'm doubtful there's a coding issue in $$divoI.  The routine was written by HP and it's used on both HP-UX and Linux.  The routine can be found in libgcc/config/pa/milli64.S

The routine can trap:
   Divide by zero is trapped.
   Divide of -2**31 by -1 is trapped for $$divoI but not for $$divI.

$$divoI is a millicode routine.  Not sure what calls it.  gcc doesn't call it.  gcc uses $$divI.

It appears you are testing a 64-bit kernel.  There might be issues calling millicode routines when branch distance exceeds approximately 4 MB.  Millicode routines have a special calling sequence.  You could try building kernel with -mlong-calls. Kernel will get bugger and slower with this option.

Dave

Signature · 1 line
John David Anglin  [email protected]
#47 lore raw
In reply to Thomas Gleixner
Quoted 16 lines · Thomas Gleixner

Careful vs. the pr_once(). It's not necessarily the first allocation which trips up. I removed slab_err() in that condition and just printed the data:

[    0.000000] Order: 1 Size:  384 Nobj: 21 Maxobj: 16 21 Inuse: 14
[    0.000000] Order: 0 Size:  168 Nobj: 24 Maxobj: 16 24 Inuse:  1
[    0.000000] Order: 1 Size:  320 Nobj: 25 Maxobj: 16 25 Inuse: 18
[    0.000000] Order: 1 Size:  320 Nobj: 25 Maxobj: 16 25 Inuse: 19
[    0.000000] Order: 1 Size:  320 Nobj: 25 Maxobj: 16 25 Inuse: 20
[    0.000000] Order: 0 Size:  160 Nobj: 25 Maxobj: 16 25 Inuse:  5
[    0.000000] Order: 2 Size:  672 Nobj: 24 Maxobj: 16 24 Inuse:  1
[    0.000000] Order: 3 Size: 1536 Nobj: 21 Maxobj: 16 21 Inuse:  1
[    0.000000] Order: 3 Size: 1536 Nobj: 21 Maxobj: 16 21 Inuse:  2
[    0.000000] Order: 3 Size: 1536 Nobj: 21 Maxobj: 16 21 Inuse: 10
Quoted 2 lines

The maxobj column shows the failed result and the result from the second invocation inside of the printk().

Hmm. There's a few patterns there:

- the incorrect Maxobj is always 16, with wildly different sizes.

- the correct value is always in that 21-25 range

and neither of these are particularly common cases for slab objects (well, at least on x86-64).

I actually went into the gcc sources to look at the libgcc routines for the hppa $$divU routine, but apart from checking for trivial powers-of-two and for divisions with small divisor values (<=17), all it is ends up being a series of "ds" (divide step) and "addc" instructions. I don't see how that could possibly mess up. It does end up with the final addc in the delay slot of the return, but that's normal parisc behavior (and here by "normal" I mean "it's a really messed up instruction set that did everything wrong, including branch delay slots")

I do note that the $$divU function (which is what this all should use) oddly doesn't show up as defined in 'nm' for me when I look at Guenter's vmlinux file. So there's some odd linker thing going on, and it *only* affects the $$div* functions.

Thomas' System.map shows some of the same effects, ie it shows $$divoI (signed integer divide with overflow checking), but doesn't show $$divU that is right after it. The reason I was looking was exactly because this should be using $$divU, and clearly code alignment is implicated somehow, but the exact alignment of $$divU wasn't obvious.

But it looks like "$$divU" should be somewhere between $$divoI and $$divl_2, and in Guenter's bad case that's

0000000041218c70 T $$divoI
00000000412190d0 T $$divI_2

so *maybe* $$divU is around a page boundary? 0000000041218xxx turning into 0000000041219000?

Some ITLB fill issue together with that delayed branch and a qemu bug?

Linus

#48 lore raw
Quoted 4 lines · Linus Torvalds

On Thu, 8 Aug 2024 at 02:57, Thomas Gleixner <[email protected]> wrote:
Hmm. There's a few patterns there:

- the incorrect Maxobj is always 16, with wildly different sizes.

Which means that the size value is rounded up to the next power of 2

Quoted 1 line
Quoted 1 line
[    0.000000] Order: 1 Size:  384 Nobj: 21 Maxobj: 16 21 Inuse: 14

8192/16 = 512

Quoted 1 line
Quoted 1 line
[    0.000000] Order: 0 Size:  168 Nobj: 24 Maxobj: 16 24 Inuse:  1

4096/16 = 256

Quoted 1 line
Quoted 1 line
[    0.000000] Order: 3 Size: 1536 Nobj: 21 Maxobj: 16 21 Inuse:  1

32768/16 = 2048

Quoted 24 lines
Quoted 2 lines

The maxobj column shows the failed result and the result from the second invocation inside of the printk().

I actually went into the gcc sources to look at the libgcc routines for the hppa $$divU routine, but apart from checking for trivial powers-of-two and for divisions with small divisor values (<=17), all it is ends up being a series of "ds" (divide step) and "addc" instructions. I don't see how that could possibly mess up. It does end up with the final addc in the delay slot of the return, but that's normal parisc behavior (and here by "normal" I mean "it's a really messed up instruction set that did everything wrong, including branch delay slots")

I do note that the $$divU function (which is what this all should use) oddly doesn't show up as defined in 'nm' for me when I look at Guenter's vmlinux file. So there's some odd linker thing going on, and it *only* affects the $$div* functions.

Thomas' System.map shows some of the same effects, ie it shows $$divoI (signed integer divide with overflow checking), but doesn't show $$divU that is right after it. The reason I was looking was exactly because this should be using $$divU, and clearly code alignment is implicated somehow, but the exact alignment of $$divU wasn't obvious.

Quoted 8 lines

But it looks like "$$divU" should be somewhere between $$divoI and $$divl_2, and in Guenter's bad case that's

0000000041218c70 T $$divoI
00000000412190d0 T $$divI_2

so *maybe* $$divU is around a page boundary? 0000000041218xxx turning into 0000000041219000?

It uses $$divU which is at $$divoI + 0x250. I validated that in the disassembly.

Thanks,

tglx

#49 lore raw
Quoted 4 lines · Thomas Gleixner
Quoted 4 lines

But it looks like "$$divU" should be somewhere between $$divoI and $$divl_2, and in Guenter's bad case that's

Quoted 8 lines
Quoted 5 lines

0000000041218c70 T $$divoI
00000000412190d0 T $$divI_2

so *maybe* $$divU is around a page boundary? 0000000041218xxx turning into 0000000041219000?

It uses $$divU which is at $$divoI + 0x250. I validated that in the disassembly.

Well, that does support "maybe we have a page crosser issue", but it's not quite at the delayed branch.

Because that would mean that $$divU starts at 0x41218ec0, and that means that there are 80 instructions from the start of $$divU to the end of that 0x41218xxx page.

And if I counted instructions right (I don't have a disassembler, so I'm just looking at the libgcc sources), that puts the page crosser not quite at the delayed branch slot, but it does put it somewhere roughly at or around

        ds      temp,arg1,temp          /* 29th divide step */
        addc    retreg,retreg,retreg    /* shift retreg with/into carry */

so it's around the last few bits of the result. The ones we get wrong.

Which is intriguing, but honestly, I don't see how we could get itlb misses horribly wrong and not crash left and right.

The $$divU routine is unusual in that it uses that millicode calling convention, but I think that's just a different register for the return address.

And it obviously depends on the carry flag, which is pretty unusual. Maybe if the ITLB fill messes up C, it wouldn't show up in other areas? But the $$divU result error is more than one single bit getting cleared.

Linus

#50 lore raw
Quoted 16 lines · Linus Torvalds
Quoted 2 lines · Thomas Gleixner

It uses $$divU which is at $$divoI + 0x250. I validated that in the disassembly.

Well, that does support "maybe we have a page crosser issue", but it's not quite at the delayed branch.

Because that would mean that $$divU starts at 0x41218ec0, and that means that there are 80 instructions from the start of $$divU to the end of that 0x41218xxx page.

And if I counted instructions right (I don't have a disassembler, so I'm just looking at the libgcc sources), that puts the page crosser not quite at the delayed branch slot, but it does put it somewhere roughly at or around

Quoted 7 lines
        ds      temp,arg1,temp          /* 29th divide step */
        addc    retreg,retreg,retreg    /* shift retreg with/into carry */

so it's around the last few bits of the result. The ones we get wrong.

Which is intriguing, but honestly, I don't see how we could get itlb misses horribly wrong and not crash left and right.

Here is the disassembly from my latest crashing debug kernel which shifts it up a couple of pages. Add 0x10 or sub 0x20 to make it work.

    4121dec0:	37 21 3f ff 	ldo -1(r25),r1
    4121dec4:	08 39 22 00 	and,= r25,r1,r0
    4121dec8:	e8 00 00 88 	b,l 4121df14 <$$divoI+0x2a4>,r0
    4121decc:	b3 20 20 00 	addi,tc,= 0,r25,r0
    4121ded0:	08 1a 02 5d 	copy r26,ret1
    4121ded4:	d3 21 39 f0 	extrw,u,= r25,15,16,r1
    4121ded8:	d3 bd 19 f0 	extrw,u ret1,15,16,ret1
    4121dedc:	08 39 02 59 	or r25,r1,r25
    4121dee0:	34 1a 01 98 	ldi cc,r26
    4121dee4:	d3 21 3a f8 	extrw,u,= r25,23,8,r1
    4121dee8:	d3 bd 1a e8 	extrw,u ret1,23,24,ret1
    4121deec:	08 39 02 59 	or r25,r1,r25
    4121def0:	34 01 01 54 	ldi aa,r1
    4121def4:	d3 20 3b 7c 	extrw,u,= r25,27,4,r0
    4121def8:	d3 bd 1b 64 	extrw,u ret1,27,28,ret1
    4121defc:	0b 59 22 00 	and,= r25,r26,r0
    4121df00:	d3 bd 1b a2 	extrw,u ret1,29,30,ret1
    4121df04:	08 39 22 00 	and,= r25,r1,r0
    4121df08:	d3 bd 1b c1 	extrw,u ret1,30,31,ret1
    4121df0c:	e8 40 c0 02 	bv,n r0(rp)
    4121df10:	08 00 02 40 	nop
    4121df18:	97 21 00 00 	subi 0,r25,r1
    4121df1c:	08 20 04 40 	ds r0,r1,r0
    4121df20:	0b 5a 06 1d 	add r26,r26,ret1
    4121df24:	0b 20 04 41 	ds r0,r25,r1
    4121df28:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df2c:	0b 21 04 41 	ds r1,r25,r1
    4121df30:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df34:	0b 21 04 41 	ds r1,r25,r1
    4121df38:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df3c:	0b 21 04 41 	ds r1,r25,r1
    4121df40:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df44:	0b 21 04 41 	ds r1,r25,r1
    4121df48:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df4c:	0b 21 04 41 	ds r1,r25,r1
    4121df50:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df54:	0b 21 04 41 	ds r1,r25,r1
    4121df58:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df5c:	0b 21 04 41 	ds r1,r25,r1
    4121df60:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df64:	0b 21 04 41 	ds r1,r25,r1
    4121df68:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df6c:	0b 21 04 41 	ds r1,r25,r1
    4121df70:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df74:	0b 21 04 41 	ds r1,r25,r1
    4121df78:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df7c:	0b 21 04 41 	ds r1,r25,r1
    4121df80:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df84:	0b 21 04 41 	ds r1,r25,r1
    4121df88:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df8c:	0b 21 04 41 	ds r1,r25,r1
    4121df90:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df94:	0b 21 04 41 	ds r1,r25,r1
    4121df98:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121df9c:	0b 21 04 41 	ds r1,r25,r1
    4121dfa0:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121dfa4:	0b 21 04 41 	ds r1,r25,r1
    4121dfa8:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121dfac:	0b 21 04 41 	ds r1,r25,r1
    4121dfb0:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121dfb4:	0b 21 04 41 	ds r1,r25,r1
    4121dfb8:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121dfbc:	0b 21 04 41 	ds r1,r25,r1
    4121dfc0:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121dfc4:	0b 21 04 41 	ds r1,r25,r1
    4121dfc8:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121dfcc:	0b 21 04 41 	ds r1,r25,r1
    4121dfd0:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121dfd4:	0b 21 04 41 	ds r1,r25,r1
    4121dfd8:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121dfdc:	0b 21 04 41 	ds r1,r25,r1
    4121dfe0:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121dfe4:	0b 21 04 41 	ds r1,r25,r1
    4121dfe8:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121dfec:	0b 21 04 41 	ds r1,r25,r1
    4121dff0:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121dff4:	0b 21 04 41 	ds r1,r25,r1
    4121dff8:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121dffc:	0b 21 04 41 	ds r1,r25,r1
    4121e000:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121e004:	0b 21 04 41 	ds r1,r25,r1
    4121e008:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121e00c:	0b 21 04 41 	ds r1,r25,r1
    4121e010:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121e014:	0b 21 04 41 	ds r1,r25,r1
    4121e018:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121e01c:	0b 21 04 41 	ds r1,r25,r1
    4121e020:	e8 40 c0 00 	bv r0(rp)
    4121e024:	0b bd 07 1d 	add,c ret1,ret1,ret1
    4121e028:	f3 20 0c 00 	depd,* r0,31,32,r25
    4121e02c:	8f 20 61 10 	cmpib,> 0,r25,4121e0bc <$$divoI+0x44c>
    4121e030:	08 00 02 40 	nop
    4121e034:	e8 19 40 00 	blr r25,r0
    4121e038:	08 00 02 40 	nop
    4121e03c:	b3 20 20 00 	addi,tc,= 0,r25,r0
    4121e040:	08 00 02 40 	nop
    4121e044:	e8 40 c0 00 	bv r0(rp)
    4121e048:	08 1a 02 5d 	copy r26,ret1
    4121e04c:	e8 40 c0 00 	bv r0(rp)
    4121e050:	d3 5d 1b c1 	extrw,u r26,30,31,ret1
    4121e054:	e8 00 01 c2 	b,l,n 4121e13c <$$divI_16+0x3c>,r0
    4121e058:	08 00 02 40 	nop
    4121e05c:	e8 40 c0 00 	bv r0(rp)
    4121e060:	d3 5d 1b a2 	extrw,u r26,29,30,ret1
    4121e064:	e8 00 02 2a 	b,l,n 4121e180 <$$divI_16+0x80>,r0
    4121e068:	08 00 02 40 	nop
    4121e06c:	e8 00 02 aa 	b,l,n 4121e1c8 <$$divI_16+0xc8>,r0
    4121e070:	08 00 02 40 	nop
    4121e074:	e8 00 06 9a 	b,l,n 4121e3c8 <$$divU_17+0xbc>,r0
    4121e078:	08 00 02 40 	nop
    4121e07c:	e8 40 c0 00 	bv r0(rp)
    4121e080:	d3 5d 1b 83 	extrw,u r26,28,29,ret1
    4121e084:	e8 00 07 12 	b,l,n 4121e414 <$$divU_17+0x108>,r0
    4121e088:	08 00 02 40 	nop
    4121e08c:	e8 00 02 9a 	b,l,n 4121e1e0 <$$divI_16+0xe0>,r0
    4121e090:	08 00 02 40 	nop
    4121e094:	e8 1f 1d 0d 	b,l 4121df20 <$$divoI+0x2b0>,r0
    4121e098:	08 20 04 40 	ds r0,r1,r0
    4121e09c:	e8 00 03 fa 	b,l,n 4121e2a0 <$$divI_16+0x1a0>,r0
    4121e0a0:	08 00 02 40 	nop
    4121e0a4:	e8 1f 1c ed 	b,l 4121df20 <$$divoI+0x2b0>,r0
    4121e0a8:	08 20 04 40 	ds r0,r1,r0
    4121e0ac:	e8 00 07 02 	b,l,n 4121e434 <$$divU_17+0x128>,r0
    4121e0b0:	08 00 02 40 	nop
    4121e0b4:	e8 00 04 22 	b,l,n 4121e2cc <$$divI_16+0x1cc>,r0
    4121e0b8:	08 00 02 40 	nop
    4121e0bc:	0b 3a 04 00 	sub r26,r25,r0
    4121e0c0:	e8 40 c0 00 	bv r0(rp)
    4121e0c4:	08 00 07 1d 	add,c r0,r0,ret1
#51 lore raw
Quoted 3 lines · Thomas Gleixner

Here is the disassembly from my latest crashing debug kernel which shifts it up a couple of pages. Add 0x10 or sub 0x20 to make it work.

Looks like I was off by an instruction, it's the 28th divide-step (not
29) that does the page crosser:

Quoted 2 lines
    4121dffc:   0b 21 04 41     ds r1,r25,r1
    4121e000:   0b bd 07 1d     add,c ret1,ret1,ret1

but my parisc knowledge is not good enough to even guess at what could go wrong.

And I have no actual reason to believe this has *anything* to do with an itlb miss, except for that whole "exact placement seems to matter, and it crosses a page boundary" detail.

None of this makes sense. I think we'll have to wait for Helge. It's not like parisc is a huge concern, and for all we know this is all a qemu bug to begin with.

Linus

#52 lore raw
Quoted 13 lines · Linus Torvalds
Quoted 3 lines · Thomas Gleixner

Here is the disassembly from my latest crashing debug kernel which shifts it up a couple of pages. Add 0x10 or sub 0x20 to make it work.

Looks like I was off by an instruction, it's the 28th divide-step (not
29) that does the page crosser:

Quoted 2 lines
     4121dffc:   0b 21 04 41     ds r1,r25,r1
     4121e000:   0b bd 07 1d     add,c ret1,ret1,ret1

but my parisc knowledge is not good enough to even guess at what could go wrong.

Quoted 8 lines

And I have no actual reason to believe this has *anything* to do with an itlb miss, except for that whole "exact placement seems to matter, and it crosses a page boundary" detail.

None of this makes sense. I think we'll have to wait for Helge. It's not like parisc is a huge concern, and for all we know this is all a qemu bug to begin with.

Copying Richard Henderson who recently made a number of changes to the parisc/hppa qemu implementation (which unfortunately didn't fix the problem).

Guenter

#53 lore raw
Quoted 11 lines · Guenter Roeck
Quoted 10 lines · Linus Torvalds
Quoted 3 lines · Thomas Gleixner

Here is the disassembly from my latest crashing debug kernel which shifts it up a couple of pages. Add 0x10 or sub 0x20 to make it work.

Looks like I was off by an instruction, it's the 28th divide-step (not
29) that does the page crosser:

Quoted 2 lines

     4121dffc:   0b 21 04 41     ds r1,r25,r1 4121e000:   0b bd 07 1d     add,c ret1,ret1,ret1

I think this macro might clobber the C/B bits on a ITLB missing:

        /* This is for ILP32 PA2.0 only.  The TLB insertion needs
         * to extend into I/O space if the address is 0xfXXXXXXX
         * so we extend the f's into the top word of the pte in
         * this case */
        .macro          f_extend        pte,tmp
        extrd,s         \pte,42,4,\tmp
        addi,<>         1,\tmp,%r0
        extrd,s         \pte,63,25,\pte
        .endm

The addi instruction affects the C/B bits.  However, it is only used for 32-bit PA 2.0 kernels. A second tmp register would be needed to change the addi to an add logical.

The mode likely problem is the shladd instruction in the following macro in entry.S:

        .macro          L2_ptep pmd,pte,index,va,fault
#if CONFIG_PGTABLE_LEVELS == 3
        extru_safe      \va,31-ASM_PMD_SHIFT,ASM_BITS_PER_PMD,\index #else
        extru_safe \va,31-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index #endif
        dep             %r0,31,PAGE_SHIFT,\pmd  /* clear offset */ #if CONFIG_PGTABLE_LEVELS < 3
        copy            %r0,\pte
#endif
        ldw,s           \index(\pmd),\pmd
        bb,>=,n         \pmd,_PxD_PRESENT_BIT,\fault
        dep             %r0,31,PxD_FLAG_SHIFT,\pmd /* clear flags */ SHLREG          \pmd,PxD_VALUE_SHIFT,\pmd
        extru_safe      \va,31-PAGE_SHIFT,ASM_BITS_PER_PTE,\index dep             %r0,31,PAGE_SHIFT,\pmd  /* clear offset */ shladd          \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */ .endm

I believe the shladd instruction should be changed to shladd,l (shift left and add logical).

Dave

Signature · 1 line
John David Anglin  [email protected]
#54 lore raw
Quoted 21 lines · John David Anglin

The mode likely problem is the shladd instruction in the following macro in entry.S:

        .macro          L2_ptep pmd,pte,index,va,fault
#if CONFIG_PGTABLE_LEVELS == 3
        extru_safe      \va,31-ASM_PMD_SHIFT,ASM_BITS_PER_PMD,\index #else
        extru_safe \va,31-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index #endif
        dep             %r0,31,PAGE_SHIFT,\pmd  /* clear offset */ #if CONFIG_PGTABLE_LEVELS < 3
        copy            %r0,\pte
#endif
        ldw,s           \index(\pmd),\pmd
        bb,>=,n         \pmd,_PxD_PRESENT_BIT,\fault
        dep             %r0,31,PxD_FLAG_SHIFT,\pmd /* clear flags */ SHLREG          \pmd,PxD_VALUE_SHIFT,\pmd
        extru_safe      \va,31-PAGE_SHIFT,ASM_BITS_PER_PTE,\index dep             %r0,31,PAGE_SHIFT,\pmd  /* clear offset */ shladd          \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */ .endm

Quoted 1 line

I believe the shladd instruction should be changed to shladd,l (shift left and add logical).

arch/parisc/kernel/entry.S +0 -0
index ab23e61a6f01..1ec60406f841 100644
@@ -399,7 +399,7 @@

     SHLREG        \pmd,PxD_VALUE_SHIFT,\pmd
     extru_safe    \va,31-PAGE_SHIFT,ASM_BITS_PER_PTE,\index dep        %r0,31,PAGE_SHIFT,\pmd  /* clear offset */
-    shladd        \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */ +    shladd,l    \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */ .endm

     /* Look up PTE in a 3-Level scheme. */

Boots okay.  Fixing the addi instruction is harder and it would take some time to test.

Dave

Signature · 1 line
John David Anglin  [email protected]
#55 lore raw

arch/parisc/kernel/entry.S line 399

Quoted 10 lines · John David Anglin
Quoted 2 lines

I believe the shladd instruction should be changed to shladd,l (shift left and add logical).

arch/parisc/kernel/entry.S +1 -1
index ab23e61a6f01..1ec60406f841 100644
@@ -399,7 +399,7 @@
-    shladd        \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */
+    shladd,l    \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */

This doesn't seem wrong, but doesn't RFIR already restore the status word?

So even if the itlb fill modifies C/B, I don't see why that should actually matter.

But again, parisc is very much not one of the architectures I've ever worked with, so..

Linus

#56 lore raw
Quoted 10 lines · Linus Torvalds

arch/parisc/kernel/entry.S line 399

Quoted 8 lines · John David Anglin
Quoted 1 line

I believe the shladd instruction should be changed to shladd,l (shift left and add logical).

arch/parisc/kernel/entry.S +1 -1
index ab23e61a6f01..1ec60406f841 100644
@@ -399,7 +399,7 @@
-    shladd        \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */
+    shladd,l    \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */

This doesn't seem wrong, but doesn't RFIR already restore the status word?

Yes.

Quoted 3 lines

So even if the itlb fill modifies C/B, I don't see why that should actually matter.

Probably won't help unless there's a bug in qemu rfir emulation.

Dave

Signature · 1 line
John David Anglin  [email protected]
#57 lore raw
In reply to John David Anglin
Quoted 37 lines · John David Anglin
Quoted 22 lines · John David Anglin

The mode likely problem is the shladd instruction in the following macro in entry.S:

        .macro          L2_ptep pmd,pte,index,va,fault
#if CONFIG_PGTABLE_LEVELS == 3
        extru_safe      \va,31-ASM_PMD_SHIFT,ASM_BITS_PER_PMD,\index #else
        extru_safe \va,31-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index #endif
        dep             %r0,31,PAGE_SHIFT,\pmd  /* clear offset */ #if CONFIG_PGTABLE_LEVELS < 3
        copy            %r0,\pte
#endif
        ldw,s           \index(\pmd),\pmd
        bb,>=,n         \pmd,_PxD_PRESENT_BIT,\fault
        dep             %r0,31,PxD_FLAG_SHIFT,\pmd /* clear flags */ SHLREG          \pmd,PxD_VALUE_SHIFT,\pmd
        extru_safe      \va,31-PAGE_SHIFT,ASM_BITS_PER_PTE,\index dep             %r0,31,PAGE_SHIFT,\pmd  /* clear offset */ shladd          \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */ .endm

I believe the shladd instruction should be changed to shladd,l (shift left and add logical).

arch/parisc/kernel/entry.S +1 -1
index ab23e61a6f01..1ec60406f841 100644
@@ -399,7 +399,7 @@
      SHLREG        \pmd,PxD_VALUE_SHIFT,\pmd
      extru_safe    \va,31-PAGE_SHIFT,ASM_BITS_PER_PTE,\index
      dep        %r0,31,PAGE_SHIFT,\pmd  /* clear offset */
-    shladd        \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */
+    shladd,l    \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */
      .endm
 
      /* Look up PTE in a 3-Level scheme. */
Quoted 2 lines

Boots okay.  Fixing the addi instruction is harder and it would take some time to test.

Odd, it doesn't help for me. Does it crash for you without the above change ? Or, in other words, is divI at the objecting location ?

Guenter

#58 lore raw
In reply to John David Anglin
Quoted 48 lines · John David Anglin
Quoted 11 lines · Guenter Roeck
Quoted 10 lines · Linus Torvalds
Quoted 3 lines · Thomas Gleixner

Here is the disassembly from my latest crashing debug kernel which shifts it up a couple of pages. Add 0x10 or sub 0x20 to make it work.

Looks like I was off by an instruction, it's the 28th divide-step (not
29) that does the page crosser:

Quoted 2 lines

     4121dffc:   0b 21 04 41     ds r1,r25,r1 4121e000:   0b bd 07 1d     add,c ret1,ret1,ret1

I think this macro might clobber the C/B bits on a ITLB missing:

        /* This is for ILP32 PA2.0 only.  The TLB insertion needs
         * to extend into I/O space if the address is 0xfXXXXXXX
         * so we extend the f's into the top word of the pte in
         * this case */
        .macro          f_extend        pte,tmp extrd,s         \pte,42,4,\tmp
        addi,<>         1,\tmp,%r0
        extrd,s         \pte,63,25,\pte
        .endm

The addi instruction affects the C/B bits.  However, it is only used for 32-bit PA 2.0 kernels. A second tmp register would be needed to change the addi to an add logical.

The mode likely problem is the shladd instruction in the following macro in entry.S:

        .macro          L2_ptep pmd,pte,index,va,fault
#if CONFIG_PGTABLE_LEVELS == 3
        extru_safe      \va,31-ASM_PMD_SHIFT,ASM_BITS_PER_PMD,\index
#else
        extru_safe \va,31-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index
#endif
        dep             %r0,31,PAGE_SHIFT,\pmd  /* clear offset */
#if CONFIG_PGTABLE_LEVELS < 3
        copy            %r0,\pte
#endif
        ldw,s           \index(\pmd),\pmd
        bb,>=,n         \pmd,_PxD_PRESENT_BIT,\fault
        dep             %r0,31,PxD_FLAG_SHIFT,\pmd /* clear flags */ SHLREG          \pmd,PxD_VALUE_SHIFT,\pmd
        extru_safe      \va,31-PAGE_SHIFT,ASM_BITS_PER_PTE,\index dep             %r0,31,PAGE_SHIFT,\pmd  /* clear offset */ shladd          \index,BITS_PER_PTE_ENTRY,\pmd,\pmd /* pmd is now pte */ .endm

Quoted 2 lines

I believe the shladd instruction should be changed to shladd,l (shift left and add logical).

That doesn't help, at least not in qemu.

Guenter

#59 lore raw
In reply to Guenter Roeck
Quoted 18 lines · Guenter Roeck
Quoted 17 lines · Linus Torvalds
Quoted 3 lines · Thomas Gleixner

Here is the disassembly from my latest crashing debug kernel which shifts it up a couple of pages. Add 0x10 or sub 0x20 to make it work.

Looks like I was off by an instruction, it's the 28th divide-step (not
29) that does the page crosser:

Quoted 2 lines

     4121dffc:   0b 21 04 41     ds r1,r25,r1 4121e000:   0b bd 07 1d     add,c ret1,ret1,ret1

but my parisc knowledge is not good enough to even guess at what could go wrong.

And I have no actual reason to believe this has *anything* to do with an itlb miss, except for that whole "exact placement seems to matter, and it crosses a page boundary" detail.

Quoted 7 lines
Quoted 4 lines

None of this makes sense. I think we'll have to wait for Helge. It's not like parisc is a huge concern, and for all we know this is all a qemu bug to begin with.

Copying Richard Henderson who recently made a number of changes to the parisc/hppa qemu implementation (which unfortunately didn't fix the problem).

Wow, that's quite the agile bug you've got there.

You can eliminate one class of qemu bug by attempting to reproduce in qemu-linux-user: arrange for the page crossing at the appropriate spot and see if the split between two translation blocks causes carry flag weirdness.

If that doesn't reproduce, then I'd be likely to blame something in the exception delivery or return process. Still could be a qemu problem, but it would be something in the system emulation of the exception path.

It should be possible to write a small system mode test case for this hypothesis. Ideally the itlb miss handler would be as simple a possible, e.g. computing an identity mapping rather than using real page tables.

Only after that would I start digging into the linux kernel's exception paths.

r~

maintainer
#60 lore raw
In reply to Linus Torvalds
Quoted 8 lines · Linus Torvalds
Quoted 3 lines · Thomas Gleixner

Here is the disassembly from my latest crashing debug kernel which shifts it up a couple of pages. Add 0x10 or sub 0x20 to make it work.

Looks like I was off by an instruction, it's the 28th divide-step (not
29) that does the page crosser:

Quoted 8 lines
Quoted 2 lines
     4121dffc:   0b 21 04 41     ds r1,r25,r1
     4121e000:   0b bd 07 1d     add,c ret1,ret1,ret1

but my parisc knowledge is not good enough to even guess at what could go wrong.

And I have no actual reason to believe this has *anything* to do with an itlb miss, except for that whole "exact placement seems to matter, and it crosses a page boundary" detail.

Well, you were on the right track :-)

Guenters kernel from
http://server.roeck-us.net/qemu/parisc64-6.10.3/
boots nicely on my physical C3700 machine, but crashes with Qemu.

So, it's not some bug in the kernel ITLB miss handler or other Linux kernel code.

Instead it's a Qemu bug, which gets triggered by the page boundary crossing of:

   41218ffc:   0b 21 04 41     ds r1,r25,r1
   41219000:   0b bd 07 1d     add,c ret1,ret1,ret1

During the ITLB miss, the carry bits and the PSW-V-bit (from the divide step) are saved in the IPSW register and restored upon irq return.

During packaging the bits there is a qemu coding bug, where we missed to handle the PSW-V-bit as 32-bit value even on a 64-bit CPU. The (copy&pasted) patch below fixes the crash for me.

Helge

target/hppa/helper.c +1 -1
index b79ddd8184..d4b1a3cd5a 100644
@@ -53,7 +53,7 @@ target_ulong cpu_hppa_get_psw(CPUHPPAState *env)
     }
 
     psw |= env->psw_n * PSW_N;
-    psw |= (env->psw_v < 0) * PSW_V;
+    psw |= ((env->psw_v >> 31) & 1) * PSW_V;
     psw |= env->psw | env->psw_xb;
 
     return psw;
#61 lore raw
Quoted 32 lines · Helge Deller
Quoted 8 lines · Linus Torvalds
Quoted 3 lines · Thomas Gleixner

Here is the disassembly from my latest crashing debug kernel which shifts it up a couple of pages. Add 0x10 or sub 0x20 to make it work.

Looks like I was off by an instruction, it's the 28th divide-step (not
29) that does the page crosser:

Quoted 8 lines
Quoted 2 lines
     4121dffc:   0b 21 04 41     ds r1,r25,r1
     4121e000:   0b bd 07 1d     add,c ret1,ret1,ret1

but my parisc knowledge is not good enough to even guess at what could go wrong.

And I have no actual reason to believe this has *anything* to do with an itlb miss, except for that whole "exact placement seems to matter, and it crosses a page boundary" detail.

Well, you were on the right track :-)

Guenters kernel from
http://server.roeck-us.net/qemu/parisc64-6.10.3/
boots nicely on my physical C3700 machine, but crashes with Qemu.

So, it's not some bug in the kernel ITLB miss handler or other Linux kernel code.

Instead it's a Qemu bug, which gets triggered by the page boundary crossing of:

   41218ffc:   0b 21 04 41     ds r1,r25,r1
   41219000:   0b bd 07 1d     add,c ret1,ret1,ret1
Quoted 8 lines

During the ITLB miss, the carry bits and the PSW-V-bit (from the divide step) are saved in the IPSW register and restored upon irq return.

During packaging the bits there is a qemu coding bug, where we missed to handle the PSW-V-bit as 32-bit value even on a 64-bit CPU. The (copy&pasted) patch below fixes the crash for me.

Yes, that works for me as well. Thanks a lot for the fix!

Guenter

Quoted 16 lines

Helge

target/hppa/helper.c +1 -1
index b79ddd8184..d4b1a3cd5a 100644
@@ -53,7 +53,7 @@ target_ulong cpu_hppa_get_psw(CPUHPPAState *env)
     }
 
     psw |= env->psw_n * PSW_N;
-    psw |= (env->psw_v < 0) * PSW_V;
+    psw |= ((env->psw_v >> 31) & 1) * PSW_V;
     psw |= env->psw | env->psw_xb;
 
     return psw;
#62 lore raw
In reply to Helge Deller
Quoted 3 lines · Helge Deller

During packaging the bits there is a qemu coding bug, where we missed to handle the PSW-V-bit as 32-bit value even on a 64-bit CPU.

Well, that was a fun bug.

And by "fun" I obviously mean "let's hope to never do this again".

Linus

#63 lore raw
In reply to Vlastimil Babka
Quoted 29 lines · Vlastimil Babka
Quoted 1 line · Linus Torvalds

[ Let's drop random people and bring in Vlastimil ]

tglx was reproducing it so I add him back

Quoted 7 lines

Vlastimil,
it turns out that the "this patch" is entirely a red herring, and the
problem comes and goes randomly with just some code layout issues. See

    http://server.roeck-us.net/qemu/parisc64-6.10.3/

for more detail, particularly you'll see the "log.bad.gz" with the full log.

[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16
[    0.000000] Slab 0x0000000041ed0000 objects=21 used=5 fp=0x00000000434003d0 flags=0x200(workingset|section=0|zone=0)

flags tell us this came from the partial list (workingset), there's no head flag so order-0

since the error was detected it basically throws the slab page away and tries another one

[    0.000000] BUG kmem_cache (Tainted: G    B             ): objects 25 > max 16
[    0.000000] Slab 0x0000000041ed0080 objects=25 used=6 fp=0x0000000043402790 flags=0x240(workingset|head|section=0|zone=0)

this was also from the partial list but head flag so at least order-1, two things are weird:
- max=16 is same as above even though it should be at least double as
slab page's order is larger
- objects=25 also isn't at least twice than objects=21

All the following are:

Quoted 9 lines
[    0.000000] BUG kmem_cache (Tainted: G    B             ): objects 25 > max 16
[    0.000000] Slab 0x0000000041ed0300 objects=25 used=1 fp=0x000000004340c150 flags=0x40(head|section=0|zone=0)

we depleted the partial list so it's allocating new slab pages, that are also at least order-1

It looks like maxobj calculation is bogus, would be useful to see what values it calculates from. I'm attaching a diff, but maybe it will also hide the issue...

If I am really careful I can catch the problem. Adding a parameter to slab_err() makes it disappear. Calling slab_order() multiple times makes it disappear. But I can assign the result of slab_order() to a variable and go from there, by changing the parameters to slab_err() one at a time. Here is what I get by combining multiple test runs.

objects 21 max 16 order 0 size 192
with:
Slab 0x0000000041ed0000 objects=21 used=5 fp=0x00000000434003d0 flags=0x200(workingset|section=0|zone=0)
objects 25 max 16 order 1 size 320 (many times)
with:
Slab 0x0000000041ed0080 objects=25 used=6 fp=0x0000000043402790 flags=0x240(workingset|head|section=0|zone=0)

  Slab 0x0000000041ed0300 objects=25 used=1 fp=0x000000004340c150 flags=0x40(head|section=0|zone=0)
  Slab 0x0000000041ed0380 objects=25 used=1 fp=0x000000004340e150 flags=0x40(head|section=0|zone=0)

and so on

If I add a log message into check_slab() and display every check I get:

objects 21 max 21 (order 0 size 192)
objects 25 max 25 (order 1 size 320)
objects 25 max 25 (order 1 size 320)
objects 25 max 25 (order 1 size 320)
objects 21 max 21 (order 0 size 192)

and so on. I guess that confirms that the maxobj calculation is wrong in the failure case. That seems weird, though, given that order_objects() should return a constant based on order and size. PAGE_SIZE is 4096, meaning order_objects() should return 21 and 25, never
16. That does make me really wonder if there is an emulation problem, though I don't really understand why that would not be persistent.

Any idea what else I could test ?

Thanks,
Guenter

#64 lore raw
Quoted 17 lines · Guenter Roeck
Quoted 16 lines · Vlastimil Babka
Quoted 1 line · Linus Torvalds

[ Let's drop random people and bring in Vlastimil ]

tglx was reproducing it so I add him back

Quoted 7 lines

Vlastimil,
it turns out that the "this patch" is entirely a red herring, and the
problem comes and goes randomly with just some code layout issues. See

    http://server.roeck-us.net/qemu/parisc64-6.10.3/

for more detail, particularly you'll see the "log.bad.gz" with the full log.

[    0.000000] BUG kmem_cache_node (Not tainted): objects 21 > max 16
[    0.000000] Slab 0x0000000041ed0000 objects=21 used=5 fp=0x00000000434003d0 flags=0x200(workingset|section=0|zone=0)
Quoted 6 lines
Quoted 6 lines

flags tell us this came from the partial list (workingset), there's no head flag so order-0

since the error was detected it basically throws the slab page away and tries another one

[    0.000000] BUG kmem_cache (Tainted: G    B             ): objects 25 > max 16
[    0.000000] Slab 0x0000000041ed0080 objects=25 used=6 fp=0x0000000043402790 flags=0x240(workingset|head|section=0|zone=0)

OK so I missed the first was "kmem_cache_node" and the rest is "kmem_cache" which explains the 21 vs 25 difference, and the difference in order etc.

Quoted 34 lines
Quoted 6 lines

this was also from the partial list but head flag so at least order-1, two things are weird:
- max=16 is same as above even though it should be at least double as
slab page's order is larger
- objects=25 also isn't at least twice than objects=21

All the following are:

Quoted 9 lines
[    0.000000] BUG kmem_cache (Tainted: G    B             ): objects 25 > max 16
[    0.000000] Slab 0x0000000041ed0300 objects=25 used=1 fp=0x000000004340c150 flags=0x40(head|section=0|zone=0)

we depleted the partial list so it's allocating new slab pages, that are also at least order-1

It looks like maxobj calculation is bogus, would be useful to see what values it calculates from. I'm attaching a diff, but maybe it will also hide the issue...

If I am really careful I can catch the problem. Adding a parameter to slab_err() makes it disappear. Calling slab_order() multiple times makes it disappear. But I can assign the result of slab_order() to a variable and go from there, by changing the parameters to slab_err() one at a time. Here is what I get by combining multiple test runs.

objects 21 max 16 order 0 size 192
with:

   Slab 0x0000000041ed0000 objects=21 used=5 fp=0x00000000434003d0 flags=0x200(workingset|section=0|zone=0)
objects 25 max 16 order 1 size 320 (many times)
  with:
   Slab 0x0000000041ed0080 objects=25 used=6 fp=0x0000000043402790 flags=0x240(workingset|head|section=0|zone=0)
   Slab 0x0000000041ed0300 objects=25 used=1 fp=0x000000004340c150 flags=0x40(head|section=0|zone=0)
   Slab 0x0000000041ed0380 objects=25 used=1 fp=0x000000004340e150 flags=0x40(head|section=0|zone=0)
   and so on

If I add a log message into check_slab() and display every check I get:

Quoted 7 lines

objects 21 max 21 (order 0 size 192)
objects 25 max 25 (order 1 size 320)
objects 25 max 25 (order 1 size 320)
objects 25 max 25 (order 1 size 320)
objects 21 max 21 (order 0 size 192)

and so on. I guess that confirms that the maxobj calculation is wrong in the failure case.

Agreed.

Quoted 4 lines

That seems weird, though, given that order_objects() should return a constant based on order and size. PAGE_SIZE is 4096, meaning order_objects() should return 21 and 25, never
16. That does make me really wonder if there is an emulation problem, though I don't really understand why that would not be persistent.

Yeah 21 and 25 are expected for these sizes and orders.

Quoted 5 lines

Any idea what else I could test ?

Thanks,
Guenter