linux/fs/nilfs2
Linus Torvalds 63c070cba0 nilfs2 updates for v7.3
- nilfs2: standardize the inode number type to u64
 - nilfs2: enhance btree node keys check
 - nilfs2: suppress false positive WARN_ONs for sufile after an FS error
 - nilfs2: fix BUG in nilfs_copy_dirty_pages() on dirty state mismatch
 - nilfs2: prevent out-of-bounds read in super root block parsing
 - nilfs2: fix infinite loop in nilfs_clean_segments()
 - nilfs2: fix slab-out-of-bounds in nilfs_direct_propagate after truncation
 - Documentation: fix grammar in description of nilfs2 recovery code
 - nilfs2: handle corrupted checkpoint count gracefully during deletion
 - nilfs2: reject invalid block index in GC ioctl
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQT4wVoLCG92poNnMFAhI4xTh21NnQUCaoNiIQAKCRAhI4xTh21N
 nW+YAQCIBwhBkHCHiBPeupSxYar35F/+f5xj4JCh0j6PrbwbYAEAyGJRw9QJNczy
 rIVKmh2yuqyukCnPGFRFVBJQAFXHHQQ=
 =M3Sh
 -----END PGP SIGNATURE-----

Merge tag 'nilfs2-v7.3-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/vdubeyko/nilfs2

Pull nilfs2 updates from Viacheslav Dubeyko:
 "This contains fixes of syzbot reported issue and various fixes in
  NILFS2 functionality:

   - Reject super-root inode sizes whose computed on-disk footprint
     exceeds the filesystem block size (David Lee)

   - Replace WARN_ON() in nilfs_cpfile_delete_checkpoints() with
     returning -EIO and reporting a filesystem error via nilfs_error()
     in the case of corrupted checkpoint count on the storage medium
     (Igor Putko)

   - Fixed a potential infinite loop in nilfs_clean_segments() reported
     by syzbot (Joshua Crofts)

     In nilfs_clean_segments(), if err is non-zero, logic logs the error
     and sleeps but doesn't abort when it encounters a terminal error
     like -EROFS. This causes the thread to loop forever.

     Fix this by breaking out of the loop if nilfs_segctor_construct()
     returns -EROFS.

   - Fix small grammar mistake in the description for nilfs2 recovery
     code (Manoj K M)

   - Multiple fixes by Ryusuke Konishi:
       - fix the list corruption issue recently detected by syzbot, that
         can occur when out-of-range values are intentionally passed to
         certain GC ioctl parameters
       - fix a flaw in the original B-tree implementation related to
         truncation and resolves the reported out-of-bounds memory
         access issue
       - fix an issue reported by syzbot where a kernel BUG could be
         triggered depending on timing after filesystem corruption is
         detected
       - fix an issue where a WARN_ON check is triggered by sufile
         functions within the log writer after the filesystem degrades
         to read-only mode

   - Check for sorted keys when reading btree node blocks into the cache
     (Wang Jianjian)

     This prevents unexpected errors during the block number assignment
     phase in log writing caused by key order inconsistencies, as well
     as the kernel warnings reported by syzbot"

* tag 'nilfs2-v7.3-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/vdubeyko/nilfs2:
  nilfs2: standardize the inode number type to u64
  nilfs2: enhance btree node keys check
  nilfs2: suppress false positive WARN_ONs for sufile after an FS error
  nilfs2: fix BUG in nilfs_copy_dirty_pages() on dirty state mismatch
  nilfs2: prevent out-of-bounds read in super root block parsing
  nilfs2: fix infinite loop in nilfs_clean_segments()
  nilfs2: fix slab-out-of-bounds in nilfs_direct_propagate after truncation
  Documentation: fix grammar in description of nilfs2 recovery code
  nilfs2: handle corrupted checkpoint count gracefully during deletion
  nilfs2: reject invalid block index in GC ioctl
2026-08-17 18:34:43 -07:00
..
alloc.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
alloc.h nilfs2: add missing return value kernel-doc descriptions 2025-01-24 22:47:25 -08:00
bmap.c nilfs2: fix slab-out-of-bounds in nilfs_direct_propagate after truncation 2026-07-28 16:33:03 -07:00
bmap.h nilfs2: fix slab-out-of-bounds in nilfs_direct_propagate after truncation 2026-07-28 16:33:03 -07:00
btnode.c nilfs2: Convert nilfs_btnode_submit_block to bh_submit() 2026-06-04 10:28:09 +02:00
btnode.h
btree.c nilfs2: enhance btree node keys check 2026-08-10 16:02:25 -07:00
btree.h nilfs2: add missing description of nilfs_btree_path structure 2024-09-01 20:43:36 -07:00
cpfile.c nilfs2: handle corrupted checkpoint count gracefully during deletion 2026-07-07 11:13:58 -07:00
cpfile.h nilfs2: remove nilfs_cpfile_{get,put}_checkpoint() 2024-02-22 15:38:53 -08:00
dat.c nilfs2: fix NULL i_assoc_inode dereference in nilfs_mdt_save_to_shadow_map 2026-03-30 19:57:15 -07:00
dat.h
dir.c nilfs2: standardize the inode number type to u64 2026-08-10 16:06:23 -07:00
direct.c nilfs2: fix slab-out-of-bounds in nilfs_direct_propagate after truncation 2026-07-28 16:33:03 -07:00
direct.h
export.h
file.c nilfs2: add setlease file operation 2026-01-12 10:55:46 +01:00
gcinode.c nilfs2: Convert nilfs_gccache_submit_read_data to bh_submit() 2026-06-04 10:28:10 +02:00
ifile.c nilfs2: standardize the inode number type to u64 2026-08-10 16:06:23 -07:00
ifile.h nilfs2: standardize the inode number type to u64 2026-08-10 16:06:23 -07:00
inode.c nilfs2: standardize the inode number type to u64 2026-08-10 16:06:23 -07:00
ioctl.c nilfs2: standardize the inode number type to u64 2026-08-10 16:06:23 -07:00
Kconfig
Makefile
mdt.c nilfs2: Convert nilfs_mdt_submit_block to bh_submit() 2026-06-04 10:28:10 +02:00
mdt.h
namei.c nilfs2 updates for v7.3 2026-08-17 18:34:43 -07:00
nilfs.h nilfs2: standardize the inode number type to u64 2026-08-10 16:06:23 -07:00
page.c nilfs2: standardize the inode number type to u64 2026-08-10 16:06:23 -07:00
page.h nilfs2: convert nilfs_page_count_clean_buffers() to take a folio 2024-11-05 17:12:39 -08:00
recovery.c nilfs2: standardize the inode number type to u64 2026-08-10 16:06:23 -07:00
segbuf.c nilfs2: correct return value kernel-doc descriptions for the rest 2025-01-24 22:47:25 -08:00
segbuf.h
segment.c nilfs2: standardize the inode number type to u64 2026-08-10 16:06:23 -07:00
segment.h nilfs2: remove wbc->for_reclaim handling 2025-05-21 10:48:23 -07:00
sufile.c nilfs2: Fix potential block overflow that cause system hang 2025-12-22 15:45:29 -08:00
sufile.h nilfs2: suppress false positive WARN_ONs for sufile after an FS error 2026-08-07 10:12:39 -07:00
super.c nilfs2: fix backing_dev_info reference leak 2026-05-08 11:06:55 -07:00
sysfs.c nilfs2: fix CFI failure when accessing /sys/fs/nilfs2/features/* 2025-09-13 13:05:38 -07:00
sysfs.h nilfs2: fix CFI failure when accessing /sys/fs/nilfs2/features/* 2025-09-13 13:05:38 -07:00
the_nilfs.c nilfs2: prevent out-of-bounds read in super root block parsing 2026-07-28 16:46:37 -07:00
the_nilfs.h nilfs2: eliminate the shared counter and spinlock for i_generation 2024-09-01 20:43:43 -07:00