← Back to archive

Daily update · Sep 9–10, 2026

Linux kernel updates: ext4 crash fix, Landlock UAF, virtio hardening

Today's mainline patches address filesystem and virtualization bugs, including security fixes for Landlock and vhost.

In brief

This daily update covers ten patches merged into the mainline kernel, focusing on stability and security. Notable fixes include an ext4 fastcommit replay crash, a use-after-free in Landlock, and multiple virtio and vhost hardening changes.

Filesystems

Fix ext4 crash during fastcommit replay

Avoid entering filesystem writeback paths during fastcommit replay, which previously crashed because the writeback semaphore isn't initialized yet.

Why it matters: Prevents a kernel crash when mounting or replaying an ext4 filesystem with fastcommit enabled after an unclean shutdown.

0ecd56573c1f

Fix spurious -EINVAL on successful nested filesystem thaw

Thawing a superblock that still has other freezers now returns success instead of -EINVAL, correcting a regression from the per-holder freeze counters.

Why it matters: Avoids false errors for tooling that freezes a filesystem through both FIFREEZE and block-device freeze, such as some snapshot and device-mapper workflows.

fe967191e585

Fix exec deadlock with FUSE and hung filesystems

do_close_on_exec() previously ran while holding exec_update_lock, so a filesystem that blocked during close could stall exec and other paths that take the lock, including a FUSE deadlock if the filesystem inspected the calling process. It now runs before the lock is taken, after the FD table is copied if needed.

Why it matters: Users with FUSE mounts or filesystems that can block on close are less likely to experience hangs or deadlocks when executing programs.

e780259b54e6

Virtio and vhost

Fix stale descriptor flags after failed packed virtqueue add

When a packed-ring descriptor mapping failed, the descriptor's avail/used flags were not restored correctly, leaving the ring in an inconsistent state.

Why it matters: Prevents memory corruption or device hangs with virtio devices using packed virtqueues after a transient mapping error.

75d276e5bb68

Fix use-after-free when unregistering some virtio devices

unregister_virtio_device() accessed debugfs state after device_unregister() could free the embedded virtio_device for transports like virtio-mmio and vdpa.

Why it matters: Prevents a crash when unbinding or removing virtio-mmio, vdpa, or other affected virtio devices.

3f9a0fceb730

Reject oversized virtqueue in vhost-vdpa

vhost_vring_set_num() accepted any power-of-two size without comparing against the device's maximum, allowing a user with vhost-vdpa access to trigger an out-of-bounds read in the simulator/device.

Why it matters: Fixes a security issue where a process with access to /dev/vhost-vdpa could crash the host or leak kernel memory.

ccb1dc7c527f

Limit outstanding vhost IOTLB misses

vhost now suppresses repeated IOTLB miss messages for the same virtqueue until userspace resolves the miss, preventing unbounded memory growth.

Why it matters: Prevents a malicious or buggy userspace from exhausting host memory through vhost device translation misses.

84cd1f879968

Fix virtio-input device removal race

The virtio_input driver could unregister the input device before resetting the virtio device, allowing callbacks to continue using freed resources. It now resets first and rechecks readiness while draining completed events.

Why it matters: Virtual machines using virtio-input devices are less likely to crash or hang when the device is hot-removed.

d7808b37da0a

Security and hardening

Fix use-after-free in reboot sysctl handling

The global cad_pid pointer was not reference-counted, allowing a concurrent writer to free the pid while readers were still using it; the sysctl was also moved back to the global table to reduce namespace exposure.

Why it matters: Closes a potential use-after-free reachable via the Ctrl-Alt-Del sysctl, which could be triggered from user and PID namespaces.

5a88f78df753

Fix Landlock use-after-free of parent directory during link checks

The Landlock path-referral check read a dentry's parent without holding a reference, so a concurrent rename could free it while the security hook was still running.

Why it matters: Prevents a potential use-after-free and crash/security issue for users of Landlock sandboxing when linking files.

2c6dc7925382

Source commits64 entries +
b12e20c6ac15

adfs: fix memory leak in sb->s_fs_info

Ahmet Eray Karadag · Dec 15, 2025 · 1 files

08edfb34ee9c

ufs: do not treat unreadable directory blocks as empty

Ali Ahmet Memis · Aug 1, 2026 · 1 files

55a4c98abb96

ufs: create the root dentry after loading cylinder metadata

Ali Ahmet Memis · Aug 1, 2026 · 1 files

c9d263be2680

ufs: validate cylinder group metadata before caching it

Ali Ahmet Memis · Aug 1, 2026 · 1 files

c952e607cb4a

vhost-scsi: use kvzalloc for vq array allocation

Dongli Zhang · Aug 2, 2026 · 1 files

4e3ec5b1b427

vhost-scsi: clamp max_io_vqs module parameter

Dongli Zhang · Aug 2, 2026 · 1 files

9ab9b4f4eb42

vdpa: alibaba: Keep DRIVER_OK clear if IRQ setup fails

Xiong Weimin · Aug 4, 2026 · 1 files

6519ca235131

vdpa: octeon_ep: Check dev_set_name() in dev add

Xiong Weimin · Aug 4, 2026 · 1 files

ca2c2165a02e

virtio-vdpa: Use queue id when setting vq affinity

Xiong Weimin · Aug 4, 2026 · 1 files

0ecd56573c1f

ext4: Avoid entering writeback paths during fastcommit replay

Jan Kara · Aug 4, 2026 · 1 files

72dd0ec09e7c

printk: Don't WARN on kthread_run failure.

Tetsuo Handa · Aug 4, 2026 · 2 files

4d470be71196

vdpa: ifcvf: Put device on unsupported feature error

Xiong Weimin · Aug 5, 2026 · 1 files

e847542ab054

vdpa: solidrun: Free IRQs after request failure

Xiong Weimin · Aug 5, 2026 · 1 files

81489b32a21c

virtio_input: reset device if input_register_device() fails

Xiong Weimin · Aug 5, 2026 · 1 files

d14d693adb05

virtio_mmio: disable IRQ wake before free_irq

Xiong Weimin · Aug 5, 2026 · 1 files

6601d5a00899

vdpa/pds: check virtqueue notify mapping

Xiong Weimin · Aug 6, 2026 · 1 files

e74a9fa50749

vhost-vdpa: don't install the eventfd_ctx_fdget() error in config_ctx

Yu Zhang · Aug 7, 2026 · 1 files

62be4e3e5f5f

vhost-vdpa: protect config_ctx from being freed under the config callback

Yu Zhang · Aug 7, 2026 · 1 files

ccb1dc7c527f

vhost/vdpa: reject VRING_NUM larger than device max

Jia Jia · Aug 10, 2026 · 1 files

5a88f78df753

reboot: fix cad_pid use-after-free race

Cen Zhang (Microsoft) · Aug 14, 2026 · 5 files

82e9343260df

nsfs: keep namespace tree fields stable until after RCU grace period

Jérémy Jean · Aug 14, 2026 · 1 files

75d276e5bb68

virtio_ring: fix stale descriptor flags after a failed packed add

Alexander Graf · Aug 17, 2026 · 1 files

7034e6c8dada

MAINTAINERS: Add a section for virtio-rng

Laurent Vivier · Aug 18, 2026 · 1 files

894f98e73983

virtio_console: do not free control-out buffers on remove

Jia Jia · Aug 19, 2026 · 1 files

ffe0486b139e

console: fix /dev/kmsg reference in flags kernel doc

Johan Hovold · Aug 19, 2026 · 1 files

fe967191e585

fs: don't return -EINVAL for successful nested thaw

Moritz Tanner · Aug 21, 2026 · 1 files

3f9a0fceb730

virtio: fix use-after-free in unregister_virtio_device()

Karl Mehltretter · Aug 21, 2026 · 1 files

2c6dc7925382

landlock: Fix use-after-free of the source's parent directory

Norbert Szetei · Aug 22, 2026 · 1 files

a518e63c3775

ovl: return EINVAL instead of EIO in case of mismatched user_ns

Miklos Szeredi · Aug 25, 2026 · 1 files

f18e8774f4d3

netfs: Fix uninitialized return value in netfs_unbuffered_write()

Karl Mehltretter · Aug 27, 2026 · 1 files

c753a33664e4

netfs: Fix unbuffered/DIO write partial transfer error return

David Howells · Aug 27, 2026 · 1 files

0bfe2571a6af

netfs: Fix error vs transferred passed to ->ki_complete()

David Howells · Aug 27, 2026 · 1 files

741416a8003b

netfs: Fix i_size update for partial transfer

David Howells · Aug 27, 2026 · 1 files

3c30087e2759

netfs: Fix subreq ref leak

David Howells · Aug 27, 2026 · 1 files

8fb45a934661

netfs: break unbuffered write when netfs_alloc_subrequest() fails

Edward Adam Davis · Aug 27, 2026 · 2 files

fed0b33e6c58

netfs: Fix readahead synchronisation issues by loading all folios upfront

David Howells · Aug 27, 2026 · 9 files

533203c41831

netfs: Mark folios with COPY_TO_CACHE whilst issuing subreqs

David Howells · Aug 27, 2026 · 7 files

e00827a4d0cf

netfs: Fix read progress reporting

David Howells · Aug 27, 2026 · 7 files

a67632c8c268

cachefiles: Fix potential UAF/KASAN warning

David Howells · Aug 27, 2026 · 2 files

e4f4761879a2

vhost: invalidate vring access on IOTLB transitions

Jia Jia · Aug 28, 2026 · 4 files

7474f3a61043

vduse: do not take dev->rwsem in the virtqueue kick path

Nikhil · Aug 29, 2026 · 1 files

fa2c25b4add5

vduse: validate virtqueue alignment

Jia Jia · Aug 30, 2026 · 1 files

cdd812d0683d

exit: hold a reference to thread_pid across proc_flush_pid

Daehyeon Ko · Aug 31, 2026 · 1 files

0433632bbe8d

printk/nbcon: Flush nbcon_irq_work in nbcon_free()

John Ogness · Sep 1, 2026 · 1 files

560f4deda327

printk/nbcon: Change nbcon_irq_work to IRQ_WORK_LAZY

John Ogness · Sep 1, 2026 · 1 files

0a8693f00c40

vdpa_sim_blk: reject out-of-range sector starts

Linfeng Sun · Sep 1, 2026 · 1 files

0d195797a80b

vdpa_sim_net: check TX pull result before RX copy

Linfeng Sun · Sep 1, 2026 · 1 files

115bf3e51538

exec: Drop bprm loader before closing bprm->file

Sun Jian · Sep 1, 2026 · 1 files

950ae84b5cc9

afs: Fix missing kunmap in afs_dir_search_bucket()

David Howells · Sep 2, 2026 · 1 files

e3cfd3eb7d5b

afs: Fix double-unmap of directory block

David Howells · Sep 2, 2026 · 3 files

044d596094af

afs: Fix incorrect free in candidate cleanup in afs_lookup_server()

David Howells · Sep 2, 2026 · 1 files

ba0623fc19a4

afs: Clear stale peer app data after address list changes

Chengfeng Ye · Sep 2, 2026 · 2 files

84cd1f879968

vhost: limit outstanding IOTLB misses per virtqueue

Linfeng Sun · Sep 3, 2026 · 2 files

5ab54837fce0

fs: autofs: fix memory leak in autofs_fill_super()

Jeffin Philip · Sep 3, 2026 · 1 files

8dd505a45de0

virtio: add Eugenio Pérez as Maintainer

Eugenio Pérez · Sep 3, 2026 · 1 files

93fa09455fb1

virtio-pci: return IRQ_HANDLED after non-zero ISR

Andrew Stellman · Sep 4, 2026 · 1 files

d7808b37da0a

virtio_input: stop callbacks before unregistering input device

Karl Mehltretter · Sep 5, 2026 · 1 files

e7557b9ef7a8

selftests/landlock: Test abstract socket trace name limits

Mickaël Salaün · Sep 7, 2026 · 1 files

d3df7ed4683f

landlock: Clean up ruleset validation checks

Mickaël Salaün · Sep 7, 2026 · 2 files

56ea4e86832d

nstree: check listing permission before taking a namespace reference

Norbert Szetei · Sep 7, 2026 · 1 files

3125751cd1de

landlock: Bound escaped trace path output

Mickaël Salaün · Sep 7, 2026 · 1 files

d41d0021a6ea

landlock: Test trace path output boundaries

Mickaël Salaün · Sep 7, 2026 · 3 files

e780259b54e6

exec: do_close_on_exec() before taking exec_update_lock

Jann Horn · Sep 7, 2026 · 1 files

48a4ee65e677

vduse: return compat ioctl results directly

Linfeng Sun · Sep 8, 2026 · 1 files