Daily update · Sep 12–13, 2026
Mainline update: filesystem reliability, IOMMU fixes, and a leaner kallsyms
A round of XFS, btrfs, and erofs fixes; AMD IOMMU and PowerPC corrections; and kallsyms/kbuild cleanups.
In brief
Today's mainline changes concentrate on storage filesystems: XFS gets realtime-device integrity, scrub, and recovery fixes; btrfs gets a zoned-device crash fix and fsync speedup; erofs gets decompression and cache fixes. Elsewhere, AMD IOMMU, PowerPC accounting, s390 AES zeroization, and RISC-V IOMMU reliability are addressed, along with kallsyms size reductions and a kbuild race fix.
Filesystem fixes
XFS: Preserve realtime data integrity and avoid double flushes
The log write path now flushes the realtime device cache alongside the data device cache, so logged metadata cannot be made durable before the data it references is stable. A follow-up avoids an extra RT flush when the log force already flushed all devices.
Why it matters: Prevents stale-data exposure after power loss on XFS realtime subvolumes and restores fsync performance for multi-device setups.
XFS: Fix zoned space reservation race
The available-space counter is now updated under the reservation lock, so a reserver cannot be left asleep after new space is added.
Why it matters: Reduces write latency spikes on zoned XFS filesystems.
XFS: Fix exchange-range reflink flag handling
When XFS_EXCHMAPS_INO1_WRITTEN is set, skipped mappings mean the reflink flag cannot be safely moved; the fix prevents clearing it from an inode that still has shared extents. Log recovery also now restores correct file sizes from the exchmaps intent item.
Why it matters: Avoids potential data corruption with exchange-range on reflink files and incorrect sizes after a crash.
XFS: Fix scrub and recovery edge cases
Directory salvage handles zero-length dirents without spinning; deferred work no longer returns an uninitialized error; media scan now includes internal realtime sections.
Why it matters: Prevents xfs_scrub hangs on corrupted directories, spurious shutdowns during online repair, and truncated device reports.
XFS: Correct scrub checks and buffer accounting
The refcount btree scrubber now catches mergeable records, CoW staging records are checked against the full range, realtime btree cursor levels are calculated safely, and buffer page count accounting uses PAGE_SIZE instead of PAGE_SHIFT.
Why it matters: Improves XFS online scrub accuracy and fixes memory reclaim accounting.
btrfs: Fix zoned device crash during block group creation
btrfs_make_block_group() could add free space before assigning cache->space_info, causing a NULL pointer dereference when relocation adds a non-initial free space range on zoned filesystems.
Why it matters: Prevents crashes on btrfs over SMR HDDs or ZNS SSDs.
btrfs: Avoid unnecessary transaction commits on fsync
btrfs_log_all_parents() could report success even when all parent directories were already logged, causing fsync to fall back to a full transaction commit.
Why it matters: Speeds up fsync and reduces metadata write amplification.
btrfs: Harden inode reference metadata validation
The tree-checker now validates inode number ranges and parent fields for inode ref/extref keys and adds the missing name length check for extref items.
Why it matters: Corrupted metadata is caught earlier, reducing crash and undefined-behavior risk.
erofs: Fix decompression and caching edge cases
LZMA decoder pool resize no longer frees the old decoder before allocating a replacement; LZ4 rolling decompression is disabled because it could produce wrong results; shared-inode cache keys now include a NUL separator; bread handles sub-page block offsets correctly.
Why it matters: More reliable erofs decompression and correct reads for images using fsoffset= with sub-page block sizes.
Platform and security
console: Fix out-of-bounds reads during font changes
The VT layer hides the cursor before changing fonts to avoid accessing out-of-bounds screen memory, and the framebuffer console logo path validates logo size against screen dimensions.
Why it matters: Prevents kernel memory disclosure or crashes on small-screen systems or font changes.
AMD IOMMU: Fix suspend/resume and initialization regressions
GA log buffers were reallocated on every resume, leaking boot-time allocations and using GFP_KERNEL in an atomic syscore callback; a separate fix restores IOMMU feature detection on older AMD platforms whose BIOS advertises incorrect IOMMU features.
Why it matters: More reliable suspend/resume with IOMMU Virtual APIC and working IOMMU on older boards like ASRockRack B550D4-4L.
PowerPC: Fix double-charged user CPU time
Interrupts from user mode were charging user time twice after the generic entry conversion, once in arch_interrupt_enter_prepare() and again in arch_enter_from_user_mode().
Why it matters: PowerPC systems now report accurate user CPU time in top, perf, and similar tools.
s390: Zeroize AES temporary buffers
AES CTR, GCM, and protected-key AES operations left temporary buffers unscrubbed after processing, potentially leaving sensitive data in kernel memory.
Why it matters: Reduces risk of sensitive data remnants on s390 systems using hardware AES.
RISC-V IOMMU: Fix command queue race
Command queue publishing is now serialized, and the producer state is advanced only after the hardware tail is updated.
Why it matters: Improves reliability for RISC-V systems with an IOMMU.
Build system and kallsyms
Shrink kallsyms by filtering MODULE_INFO symbols
The mksysmap filter for unique module IDs stopped matching after a __UNIQUE_ID() naming change, so every kernel since v6.18 included thousands of unnecessary MODULE_INFO entries in kallsyms. The pattern is fixed to drop them again.
Why it matters: Typical x86_64 and arm64 builds save over 100 KiB of kallsyms tables and tens of KiB from the compressed kernel image.
Remove spurious arm64 PIE symbols from kallsyms
The sed filter incorrectly escaped '$' in the arm64 __pi_ pattern, leaving linker-generated local symbols like __pi_$x visible in System.map and /proc/kallsyms.
Why it matters: Arm64 users get a cleaner kallsyms and slightly smaller kernel symbol tables.
Stop deleting in-flight generated headers in kbuild
The asm-headers stale-file sweep matched dotfiles, so temporary files still being written by filechk could be deleted. The sweep now excludes those in-flight temporaries.
Why it matters: Parallel and incremental builds are less likely to fail or corrupt generated headers.
Source commits134 entries +
powerpc/pasemi: Add a null pointer check to the pas_setup_mce_regs
Kunwu Chan · Jan 17, 2024 · 1 files
powerpc/kexec_file: print configured kernel command line
Sourabh Jain · Jul 25, 2025 · 1 files
powerpc/prom: Remove redundant early_init_dt_scan_root() call
Sourabh Jain · Apr 18, 2026 · 1 files
KVM: PPC: Book3S HV: Set irqfd->producer only on success
leixiang · Jul 9, 2026 · 1 files
xfs: fix the lock annotation on xfs_iget_cache_hit
Christoph Hellwig · Jul 20, 2026 · 1 files
xfs: fix the lock annotation in xfs_extent_busy_update_extent
Christoph Hellwig · Jul 20, 2026 · 1 files
xfs: fix the lock annotation in xfs_mru_cache_lookup
Christoph Hellwig · Jul 20, 2026 · 1 files
xfs: improve lock annotations in the log code
Christoph Hellwig · Jul 20, 2026 · 3 files
xfs: add lock annotations to xfs_try_open_zone
Christoph Hellwig · Jul 20, 2026 · 1 files
xfs: add lock annotations to xlog_state_shutdown_callbacks
Christoph Hellwig · Jul 20, 2026 · 1 files
xfs: add a lock annotation to xlog_cil_push_background
Christoph Hellwig · Jul 20, 2026 · 1 files
xfs: add lock annotations to xfs_ail_delete*
Christoph Hellwig · Jul 20, 2026 · 1 files
selftests/powerpc: use MAP_FAILED instead of (void *)-1 in tm-signal-context-force-tm
longlong yan · Jul 22, 2026 · 1 files
xfs: fix exchange-range reflink flag clearing issue with INO1_WRITTEN
Lin Jiapeng · Jul 28, 2026 · 1 files
powerpc/pseries/htmdump: Fix leak in htmdump_init_debugfs
Michail Tatas · Aug 4, 2026 · 1 files
xfs: initialise error in xfs_defer_finish_one()
Javier Tia · Aug 10, 2026 · 1 files
xfs: give the deferred barrier op type a name
Javier Tia · Aug 10, 2026 · 1 files
xfs: report the error that made deferred work shut down the fs
Javier Tia · Aug 10, 2026 · 1 files
xfs: correct the parent pointer space reservation comment
Javier Tia · Aug 10, 2026 · 1 files
xfs: initialise args->total for parent pointer updates
Javier Tia · Aug 10, 2026 · 1 files
xfs: assert the reservation covers each da fork growth
Javier Tia · Aug 10, 2026 · 1 files
iommu/s390: Fix NULL dereference in iova_to_phys() with ZPCI_TABLE_TYPE_RFX
Niklas Schnelle · Aug 18, 2026 · 1 files
iommu/amd: Do not reallocate GA log buffers on resume
Karl Mehltretter · Aug 19, 2026 · 1 files
xfs: fix media verification ioctl for internal rt volumes
Darrick J. Wong · Aug 21, 2026 · 1 files
vt: hide cursor prior to font changes to avoid out-of-bound reads
Helge Deller · Aug 21, 2026 · 1 files
xfs: fix reclaimed page accounting in xfs_buf_free
Eric Sandeen · Aug 21, 2026 · 1 files
xfs: mark slab-allocated xfs_buf backing memory as __GFP_RECLAIMABLE
Eric Sandeen · Aug 21, 2026 · 1 files
fbdev: omapfb: Fix __be32 sparse warning in panel_enabled()
Helge Deller · Aug 22, 2026 · 1 files
fbcon: Fix KASAN slab-out-of-bounds Read in fbcon_prepare_logo
Helge Deller · Aug 22, 2026 · 1 files
iommu/amd: Fix premature break in init_iommu_one() again
Vasant Hegde · Aug 24, 2026 · 1 files
btrfs: set space_info before adding new free space in btrfs_make_block_group()
Johannes Thumshirn · Aug 24, 2026 · 1 files
fbdev: ssd1307fb: fix NULL pointer dereference on missing match data
Yang Zi · Aug 25, 2026 · 1 files
iommu/amd: Fix ineffective error check in nested domain allocation
Hemanth Selam · Aug 25, 2026 · 1 files
xfs: prevent race in zoned space reservations
Hans Holmberg · Aug 26, 2026 · 1 files
xfs: don't spin forever on zero-length dirents when salvaging them
Darrick J. Wong · Aug 27, 2026 · 1 files
xfs: don't stash removename operations with unknown ftype
Darrick J. Wong · Aug 27, 2026 · 1 files
xfs: log the tempip after we convert it to extents format
Darrick J. Wong · Aug 27, 2026 · 1 files
xfs: fix parent rec lookup initialization in xrep_metapath_unlink
Darrick J. Wong · Aug 27, 2026 · 1 files
xfs: handle reconnecting metadir subdirectories
Darrick J. Wong · Aug 27, 2026 · 1 files
xfs: lock the healthmon when inserting unmount event
Darrick J. Wong · Aug 27, 2026 · 1 files
fbdev: atafb: Restrict SuperBlitter to supported formats
Linmao Li · Aug 27, 2026 · 1 files
erofs: preserve LZMA decoders on resize failure
Nikhil Gurudasani · Aug 30, 2026 · 1 files
s390/crypto: Fix skcipher_walk return code handling in aes_s390
Harald Freudenberger · Aug 31, 2026 · 1 files
s390/crypto: Fix missing scrub of temp buffers with AES ctr and gcm algorithm
Harald Freudenberger · Aug 31, 2026 · 1 files
s390/crypto: Fix use of mutex in atomic context
Harald Freudenberger · Aug 31, 2026 · 1 files
s390/crypto: Fix return code handling at skcipher_walk_done in PAES algorithms
Harald Freudenberger · Aug 31, 2026 · 1 files
s390/crypto: Fix missing scrub of temp buffers with PAES algorithm
Harald Freudenberger · Aug 31, 2026 · 1 files
s390/crypto: Fix use of mutex in atomic context in PAES
Harald Freudenberger · Aug 31, 2026 · 1 files
s390/crypto: Fix missing cra_flags in paes_s390
Harald Freudenberger · Aug 31, 2026 · 1 files
s390/crypto: Fix handling of EBUSY in PAES when req is pushed to crypto engine
Harald Freudenberger · Aug 31, 2026 · 1 files
s390/crypto: Fix handling of EBUSY in PHMAC when req is pushed to crypto engine
Harald Freudenberger · Aug 31, 2026 · 1 files
s390/crypto: Fix wrong return code to engine in asynch callbacks
Harald Freudenberger · Aug 31, 2026 · 2 files
s390/crypto: Map EBUSY to EIO when key conversion fails repeatedly
Harald Freudenberger · Aug 31, 2026 · 2 files
s390/crypto: Enable CONTEXT_ANALYSIS
Heiko Carstens · Aug 31, 2026 · 1 files
scripts/sorttable: Mark long_size as __maybe_unused
Nathan Chancellor · Sep 1, 2026 · 1 files
xfs: release alleged child inode on metapath unlink error
Anuj Gupta · Sep 1, 2026 · 1 files
s390/pai: Use PAI PMU index as parameter replacing event
Thomas Richter · Sep 1, 2026 · 1 files
s390/pai: Move locking to event init and delete
Thomas Richter · Sep 1, 2026 · 1 files
s390/pai: Support CPU hotplug for PMU PAI
Thomas Richter · Sep 1, 2026 · 2 files
iommu/riscv: Add command queue lock
Fangyu Yu · Sep 1, 2026 · 2 files
iommu/riscv: Serialize command queue publishing
Fangyu Yu · Sep 1, 2026 · 1 files
iommu/riscv: Avoid waiting on failed command enqueue
Fangyu Yu · Sep 1, 2026 · 1 files
erofs: add sysfs feature entry for xattr prefixes
Jingbo Xu · Sep 2, 2026 · 2 files
xfs: fix unit conversions in per_binval computation
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: fix short ifork reaping computation in xreap_bmapi_binval
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: fix name string recording in slowpath pptr tracepoints
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: don't leak dqacct if rhashtable insertion fails
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: fix the rtrmap and rtrefcount _maxlevels_ondisk functions
Darrick J. Wong · Sep 2, 2026 · 2 files
xfs: fix xfs_rtrmapbt_mem_cursor for non-rmap filesystems
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: preserve owner on in-memory btree creation
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: don't leak new_bp if xfs_btree_bload_drop_buf fails
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: actually recover intended file sizes in xfs_xmi_item_recover_intent
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: don't modify file attributes or poke fsnotify for dry runs
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: fix bnobt repair space reservation disposal failure
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: always set xfs_healthmon::first_event when inserting at front of list
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: move healthmon event merge tracepoint
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: port healthmon event list to list_head
Darrick J. Wong · Sep 2, 2026 · 2 files
xfs: merge healthmon insert/push helpers
Darrick J. Wong · Sep 2, 2026 · 2 files
xfs: check healthmon outbuffer space correctly
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: bump lost_prev_errors if we lose even the healthmon lost event
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: report nonexistent parents as a filesystem corruption
Darrick J. Wong · Sep 2, 2026 · 2 files
xfs: destroy seen inode bitmap when we fail to add a dirpath
Darrick J. Wong · Sep 2, 2026 · 2 files
xfs: signal inode btree xref error if get_rec returns an error
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: truncate quota file correctly when repairing quota file
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: fix backwards skipping logic in xrep_quota_block
Darrick J. Wong · Sep 2, 2026 · 1 files
xfs: fix backwards mergeability logic in refcount scrubber
Darrick J. Wong · Sep 2, 2026 · 2 files
kbuild: don't delete in-flight filechk temporaries in asm-headers
Vlad Poenaru · Sep 2, 2026 · 1 files
xfs: compute dquot checksum after resetting dd_lsn in repair
Darrick J. Wong · Sep 3, 2026 · 1 files
xfs: cross-reference the rtgroup superblock extent, not block
Darrick J. Wong · Sep 3, 2026 · 1 files
xfs: use the rtgroup extent count to find rtrefcount gaps
Darrick J. Wong · Sep 3, 2026 · 1 files
xfs: strengthen the "is cow staging" helpers in scrub
Darrick J. Wong · Sep 3, 2026 · 2 files
xfs: fix rtrefcount btree block counting in scrub
Darrick J. Wong · Sep 3, 2026 · 1 files
xfs: make the rtsummary repair fix the file size too
Darrick J. Wong · Sep 3, 2026 · 1 files
xfs: count escaped corruption errors in scrub stats
Darrick J. Wong · Sep 3, 2026 · 3 files
selftests/powerpc/pmu/ebb: fix lost_exception_test hang with sched yield change
Athira Rajeev · Sep 3, 2026 · 1 files
btrfs: fix unnecessary transaction commit fallback from btrfs_log_all_parents()
Filipe Manana · Sep 3, 2026 · 1 files
s390/debug: Fix NULL pointer dereference in debug_set_level()
Mikhail Zaslonko · Sep 3, 2026 · 1 files
s390/debug: Do not repeat parameter override notice on debug_set_level()
Mikhail Zaslonko · Sep 3, 2026 · 1 files
s390/debug: Fix race between debug area resize and event logging
Mikhail Zaslonko · Sep 3, 2026 · 1 files
erofs: disable LZ4 rolling decompression for now
Gao Xiang · Sep 3, 2026 · 3 files
btrfs: tree-checker: validate key offset for inode ref keys
Filipe Manana · Sep 3, 2026 · 1 files
btrfs: tree-checker: validate parent field for inode extref items
Filipe Manana · Sep 3, 2026 · 1 files
btrfs: tree-checker: validate name length for extref items
Filipe Manana · Sep 3, 2026 · 1 files
powerpc/entry: Fix double accounting of user time on interrupt entry
Aboorva Devarajan · Sep 4, 2026 · 1 files
xfs: remove several unused and never-implemented declarations
Zizhi Wo · Sep 5, 2026 · 6 files
MAINTAINERS: Drop the nonexistent vsi-iommu.h file entry
Daasaradhi Mannava · Sep 5, 2026 · 1 files
xfs: take hm->lock in xfs_ioc_health_monitor() before insert
Deepanshu Kartikey · Sep 6, 2026 · 1 files
xfs: set IOMAP_F_INTEGRITY for zoned writes on integrity devices
Anuj Gupta · Sep 7, 2026 · 1 files
xfs: also flush the RT device cache in xlog_write_iclog
Christoph Hellwig · Sep 7, 2026 · 2 files
xfs: don't continue on error in xfs_fsync
Christoph Hellwig · Sep 7, 2026 · 1 files
xfs: avoid extra cache flushes for multi-device file systems in xfs_fsync
Christoph Hellwig · Sep 7, 2026 · 1 files
erofs: delimit inode_share cache key components
Chengyu Zhu · Sep 7, 2026 · 1 files
selftests/powerpc/tm: Fix tcheck() reading uninitialised CR value
Thibault Ferrante · Sep 7, 2026 · 1 files
scripts/mksysmap: drop the MODULE_INFO() symbols from kallsyms
Lorenzo Stoakes (ARM) · Sep 8, 2026 · 1 files
scripts/mksysmap: fix escape of '$' in the __pi_ pattern
Lorenzo Stoakes (ARM) · Sep 8, 2026 · 1 files
xfs: snapshot scrub stats when rendering them
Darrick J. Wong · Sep 9, 2026 · 1 files
xfs: report healthy filesystem events in scrub stats
Darrick J. Wong · Sep 9, 2026 · 1 files
xfs: report runtime failures in scrub
Darrick J. Wong · Sep 9, 2026 · 1 files
xfs: remove redundant function declaration
Darrick J. Wong · Sep 9, 2026 · 1 files
xfs: snapshot old AGFL before rewriting it
Darrick J. Wong · Sep 9, 2026 · 1 files
xfs: bail out on bitmap errors in xrep_agfl_fill
Darrick J. Wong · Sep 9, 2026 · 1 files
xfs: actually check internal-rtdev fields in the superblock
Darrick J. Wong · Sep 9, 2026 · 1 files
xfs: fix rtrmap cross-referencing elision logic
Darrick J. Wong · Sep 9, 2026 · 1 files
xfs: fix termination logic in xchk_bmap
Darrick J. Wong · Sep 9, 2026 · 1 files
xfs: fix replaying dirent removals into the temporary directory
Darrick J. Wong · Sep 9, 2026 · 1 files
xfs: reset parent pointer args before each dir tree unlink repair
Darrick J. Wong · Sep 9, 2026 · 1 files
xfs: advance the findparent inode scan cursor while holding ILOCK
Darrick J. Wong · Sep 9, 2026 · 1 files
fbdev: vfb: defer cleanup until the last reference
Weiming Shi · Sep 9, 2026 · 1 files
erofs: add missing buf->off in erofs_bread()
Binglei Wang · Sep 11, 2026 · 1 files
xfs: fix under-reservation of blocks when repairing sf directories
Darrick J. Wong · Sep 11, 2026 · 5 files
iommu/amd: Make iommu_sva_set_dev_pasid as static
Vasant Hegde · Sep 11, 2026 · 2 files
iommu/amd: Remove redundant check in irq_remapping_select()
Vasant Hegde · Sep 11, 2026 · 3 files
iommu/amd: Remove redundant checks from interrupt handler path
Vasant Hegde · Sep 11, 2026 · 2 files
iommu/amd: Remove unused macro
Vasant Hegde · Sep 11, 2026 · 1 files