← Back to archive

Daily update · Oct 18–19, 2026

Linux 7.3 lands with storage, scheduler, and perf fixes

A broad round of mainline fixes hardens iSCSI handling, fixes CPU hotplug event migration, and addresses several I2C/SPI/regmap driver bugs.

In brief

This mainline batch is dominated by bug fixes in storage and SCSI paths, including iSCSI PDU validation and tape/remove races, along with scheduler and perf corrections. Several regmap, I2C, SPI, and firewire driver fixes also landed, and the tree has been tagged as Linux 7.3.

Storage and SCSI fixes

SCSI tape: fix use-after-free and partition position

st_remove() drops the last reference before removing the tape from the lookup table, so a concurrent open can find freed memory. Separately, after a device reset the saved tape block is recorded under the wrong partition. Both are corrected.

Why it matters: Avoids a slab use-after-free on driver unload and prevents tape positioning errors after resets.

71caf7f84bd6c9e9f024dd4f

iSCSI: validate command tags from incoming PDUs

libiscsi trusted the ITT in Reject responses, management responses, and transport-parsed indexes with only an upper bound. A negative index reads before the command array, and a stale or unsolicited tag can name a task whose slot is NULL or already released. The patches add lower-bound and NULL checks.

Why it matters: Prevents crashes and use-after-free variants when an iSCSI target sends malformed or unsolicited PDUs.

8ee2a09a1dbbc5958c770b2a11bffcd9cb34

iSCSI target: serialize discovery auth updates

Two concurrent configfs writes to the discovery AuthMethod parameter could free the same string twice. The update now takes the TPG access lock around lookup and replacement.

Why it matters: Avoids a double-free crash when changing iSCSI discovery authentication settings concurrently.

e15b81f602ed

SCSI target: take delayed command lock with IRQs disabled

One workqueue path took delayed_cmd_lock with interrupts enabled while all other paths disabled them. The patch switches to the irqsave variant so no interrupt can nest on the same lock.

Why it matters: Closes a potential deadlock in ordered command handling.

04a67a8b1a44

Xen SCSI frontend: check shadow entry before dereferencing

A backend response with an in-range but unused request ID dereferences a NULL shadow slot. The frontend now checks the entry before testing its inflight flag.

Why it matters: Prevents a guest kernel crash from a buggy or malicious Xen SCSI backend.

8c8222c25577

libsas: avoid SMP command deadlock during host resume

Resuming a SAS host can trigger a SATA hard reset that issues an SMP command; that path called pm_runtime_get_sync(), which waits for the ongoing resume and deadlocks. The patch avoids the runtime PM wait on this path.

Why it matters: Fixes a hang when resuming systems with expander-attached SATA disks.

81e097a064b2

BSG: size reply buffers for UFS RPMB

bsg-lib always allocated 96-byte reply buffers, but UFS Advanced RPMB replies are 104 bytes. Transports can now pass the required size, and UFS BSG requests enough space for the header plus EHS bytes.

Why it matters: Prevents a buffer overrun from UFS RPMB and returns full replies to userspace.

ec6b083915e8

Scheduler, futex, and entry fixes

sched: wake up preemption on scheduler class changes

When a queued task changes class (for example from CFS to RT), the scheduler did not always re-evaluate preemption, leaving an idle CPU with a runnable task. sched_change_end() now calls wakeup_preempt() for queued tasks.

Why it matters: Fixes lost wakeups reported under RCU torture, where a CPU idled with an RT task waiting.

118a2cf4ced6

sched/fair: fix overflow in EEVDF placement

place_entity() multiplies virtual lag by load+weight before dividing, and with scaled weights the intermediate product can overflow s64. The calculation is now done in a wider/ordered way to avoid the overflow.

Why it matters: Prevents incorrect task placement in corner cases with group scheduling and very small effective weights.

2f93bcb3f9aa

futex: use stable per-MM ID for shared futexes

A shared futex was keyed by the MM pointer, so a freed and reallocated MM at the same address could consume wakeups intended for another process. A unique 64-bit per-MM ID now identifies FUT_OFF_MMSHARED futexes.

Why it matters: Avoids lost or misdirected wakeups on shared futexes after an MM is reused.

3267512ad1c2

entry: count deferred hrtimer rearm as part of timer interrupt

Lockdep saw the deferred clock-event reprogramming after an interrupt as a separate context, creating a huge number of lock chains and eventually exhausting the lockdep pool. It is now counted as part of the timer interrupt's hardirq context.

Why it matters: Keeps lockdep validation alive much longer on debug kernels instead of switching itself off after a couple of days.

7cbaa0f4579f

Perf and x86 updates

perf: fix event migration during CPU hotplug

perf_pmu_migrate_context() removed group leaders from the rbtree while iterating it, so later groups were skipped and stayed on the dying CPU. It now walks the event list and filters by PMU context.

Why it matters: Ensures perf events are actually migrated when a CPU goes offline instead of running until teardown on the old CPU.

e76b36b4be71

perf: keep cgroup event times correct across rotations

Multiplexed cgroup events lost their accumulated running time because perf_rotate_context() stopped updating cgroup time. The update is restored so rotation credits time properly.

Why it matters: Improves accuracy of time_running and scaled counts for cgroup-based perf events.

e4c7c401c6b9

perf: separate per-user mlock gift from other locked-vm users

perf's per-user buffer 'gift' is charged to user_struct.locked_vm without RLIMIT_MEMLOCK checks, and other components have since reused that field as a general limit. The gift is now tracked separately.

Why it matters: Prevents perf's mlock budget from being conflated with unrelated locked-memory accounting.

78436f3882fb

perf/x86/uncore: correct DMR CXL CM invert filter

The Diamond Rapids CXL CM PMU puts its invert filter at config bit 21, but the generic event mask covered a different bit. A PMU-specific mask now includes bit 21 so inv=1 reaches the hardware.

Why it matters: Makes invert filtering work as intended on this uncore PMU.

cf1f186e08da

x86/kcfi: fix failure decoding and silence assembler warning

With optimized kCFI checks, a failed check traps one byte past the original ud2, so the handler must step back to find the trap; it also decodes from the wrong IP. The FineIBT 'cs' prefix is now emitted as a raw byte to stop GNU as from warning.

Why it matters: Produces correct CFI failure reports and avoids build warnings on CONFIG_FINEIBT kernels.

4505a262deae41d1119e2f85

Regmap, I2C, SPI, and firewire driver fixes

regmap: fix IRQ domain leak and cache lifecycle races

regmap IRQ creation now frees its irqdomain on error, debugfs is removed before cache teardown to avoid concurrent access, and the map lock is released during cache allocation so raw spinlocks are not held while allocating memory.

Why it matters: Avoids a leaked IRQ domain, a debugfs use-after-free, and lockdep 'invalid wait context' warnings on Apple GPIO and similar regmap users.

2e42cade8ff1834035934cefabff0a48b110

i2c: fix clock selection and runtime PM in several drivers

QCom Geni now keeps the platform's chosen source clock instead of always switching to 32 MHz, QCom CCI accumulates HALT_ACK reset requests instead of dropping one, Wondermedia uses devm_clk_get() to avoid a clock leak, and Xiic drops the devres runtime-PM conversion that caused a suspend/clock WARN.

Why it matters: Fixes HID keyboard/touchpad probe failures on X1E80100, lost CCI master resets, clock leaks, and remove-time WARN floods.

8cb5c17be3a2195f3d74b5deaaabefc79b0fd33373c565af

spi: fix chip-select handling and DMA bounce-buffer corruption

Tegra114's SPI driver deasserted the CS GPIO between transfers when cs_change was set, so later transfers in a message ran with the chip deselected. i.MX SPI allocated DMA bounce buffers rounded only to 4 bytes but DMA-mapped them rounded to cache line size, corrupting slab memory.

Why it matters: Fixes broken multi-transfer register reads with ADIS16470 on Tegra and slab corruption observed with mcp251xfd on i.MX8MP.

8980bc573ae259eb22641f0c

firewire: close split-transaction race

For split transactions both the response handler and the timeout callback can manipulate the same pending entry; a refactor let both run, causing a use-after-free. The response handler now leaves the entry alone when the timeout callback is already running.

Why it matters: Prevents a firewire core use-after-free under split-transaction timing races.

7f9f2d6abc40

Release

Linux 7.3

The kernel version has been bumped to 7.3 in the top-level Makefile.

Why it matters: Indicates the mainline tree is now version 7.3.

c03c1a14507d

Source commits33 entries +
e15b81f602ed

scsi: target: iscsi: Fix race in discovery auth updates

Linfeng Sun · Aug 11, 2026 · 1 files

2e42cade8ff1

regmap: irq: Free the irqdomain we create

Mark Brown · Sep 1, 2026 · 1 files

aaabefc79b0f

i2c: viai2c-wmt: Fix clock leak in wmt_i2c_probe()

Wentao Liang · Sep 16, 2026 · 1 files

04a67a8b1a44

scsi: target: Disable interrupts while holding delayed_cmd_lock

Yu Zhang · Sep 27, 2026 · 1 files

81e097a064b2

scsi: libsas: Fix SMP IO deadlock during HA resume

Xingui Yang · Sep 28, 2026 · 1 files

2f93bcb3f9aa

sched/fair: Avoid overflow in place_entity()

Hui Su · Sep 28, 2026 · 1 files

8cb5c17be3a2

i2c: qcom-geni: Restore the source-clock selection policy

Abel Vesa · Sep 28, 2026 · 1 files

3267512ad1c2

futex: Fix mm reuse handling for FUT_OFF_MMSHARED

Jann Horn · Sep 29, 2026 · 3 files

8980bc573ae2

spi: tegra114: assert CS GPIO for every transfer in a message

Carlos Jones Jr · Oct 2, 2026 · 1 files

78436f3882fb

perf: Track the perf mlock gift separately

Lorenzo Stoakes (ARM) · Oct 3, 2026 · 2 files

8c8222c25577

scsi: xen/scsifront: Check for a NULL shadow entry on a backend response

Yehyeong Lee · Oct 5, 2026 · 1 files

834035934cef

regmap: Remove debugfs before cache teardown

Michael Reeves · Oct 6, 2026 · 2 files

abff0a48b110

regmap: Drop map lock during cache init and exit

Michael Reeves · Oct 6, 2026 · 3 files

c9e9f024dd4f

scsi: st: Save the visited block for the partition the drive is in

Laurence Oberman · Oct 6, 2026 · 1 files

8ee2a09a1dbb

scsi: libiscsi: Reject a negative task index from parse_pdu_itt

Yehyeong Lee · Oct 7, 2026 · 1 files

c5958c770b2a

scsi: libiscsi: Validate the ITT reflected in a Reject PDU

Yehyeong Lee · Oct 7, 2026 · 1 files

11bffcd9cb34

scsi: libiscsi: Validate the task named by a management response

Yehyeong Lee · Oct 7, 2026 · 1 files

cf1f186e08da

perf/x86/intel/uncore: Fix DMR CXL CM invert filter

Guixiong Wei · Oct 8, 2026 · 1 files

4eac392e48fc

spi: spi-fsl-lpspi: pass struct fsl_lpspi_data instead of struct spi_controller if possible

Marc Kleine-Budde · Oct 9, 2026 · 1 files

b0f0c761ed3f

spi: spi-fsl-lpspi: directly return ret in fsl_lpspi_transfer_one()

Marc Kleine-Budde · Oct 9, 2026 · 1 files

4505a262deae

x86/kcfi: Decode the kCFI check from the trap address

Kees Cook · Oct 12, 2026 · 1 files

41d1119e2f85

x86/kcfi: Emit the FineIBT paranoid "cs" prefix as a byte

Kees Cook · Oct 12, 2026 · 1 files

195f3d74b5de

i2c: qcom-cci: Fix HALT_ACK reset request being dropped

Loic Poulain · Oct 12, 2026 · 1 files

7cbaa0f4579f

entry: Account the deferred hrtimer rearm as hardirq context for lockdep

Mikhail Gavrilov · Oct 13, 2026 · 1 files

ec6b083915e8

scsi: bsg: Pass reply_len to bsg_setup_queue() to fit UFS ARPMB replies

Stanley Jhu · Oct 13, 2026 · 7 files

118a2cf4ced6

sched/core: Call wakeup_preempt() for queued tasks during class change

K Prateek Nayak · Oct 13, 2026 · 1 files

e76b36b4be71

perf: Fix perf_pmu_migrate_context() leaving events behind

Haris Okanovic · Oct 13, 2026 · 1 files

71caf7f84bd6

scsi: st: Fix use-after-free race between st_remove() and st_open()

Laurence Oberman · Oct 13, 2026 · 1 files

d33373c565af

i2c: xiic: restore non-managed runtime PM to fix clk WARN flood

Abdurrahman Hussain · Oct 14, 2026 · 1 files

e4c7c401c6b9

perf: Update cgroup time when rotating multiplexed events

Antoine Huret · Oct 15, 2026 · 1 files

59eb22641f0c

spi: imx: fix slab corruption from undersized DMA bounce buffers

Richard Leitner · Oct 15, 2026 · 1 files

7f9f2d6abc40

firewire: core: fix race condition in split transaction handling

Takashi Sakamoto · Oct 18, 2026 · 1 files

c03c1a14507d

Linux 7.3

Linus Torvalds · Oct 18, 2026 · 1 files