linux/fs/nilfs2
Linus Torvalds 6f60a6033c nilfs2 updates for v7.2
- nilfs2: Fix return in nilfs_mkdir
 - nilfs2: fix backing_dev_info reference leak
 - nilfs2: reject CLEAN_SEGMENTS ioctl with out-of-range segment numbers
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQT4wVoLCG92poNnMFAhI4xTh21NnQUCai99EgAKCRAhI4xTh21N
 nbR2APwJtTMFdg9c4fdCcDauoP2uvDhG08/DfQBhMHBlqbWuBQEAw0f7gLJ6EJQG
 7pZ7g2/SEdK/Obm3fzoemteACklYPgg=
 =22JG
 -----END PGP SIGNATURE-----

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

Pull nilfs2 updates from Viacheslav Dubeyko:
 "Fixes of syzbot reported issue and various small fixes in NILFS2
  functionality.

   - fix hung task in nilfs_transaction_begin() (Deepanshu Kartikey)

     Reported by syzbot. The root cause is that user-supplied segment
     numbers were not validated before nilfs_clean_segments() began
     doing work; the range check on each segnum was performed deep
     inside the call chain by nilfs_sufile_updatev(), which emits a
     nilfs_warn() per invalid entry while still holding the segctor lock
     and the sufile mi_sem.

     Fix it by validating the contents of kbufs[4] in
     nilfs_clean_segments() immediately after acquiring ns_segctor_sem
     via nilfs_transaction_lock().

   - fix a smatch warning in nilfs_mkdir() warn (Hongling Zeng)

     This corrects a semantic issue related to the use of the
     ERR_PTR macro that arose from a recent VFS change.

   - fix a backing_dev_info reference leak (Shuangpeng Bai)

     setup_bdev_super() initializes sb->s_bdev and takes a reference on
     the block device backing_dev_info when assigning sb->s_bdi.

     nilfs_fill_super() takes another reference to the same
     backing_dev_info and stores it in sb->s_bdi again. The extra
     reference is not paired with a matching bdi_put(), since
     generic_shutdown_super() releases sb->s_bdi only once.

     Drop the redundant bdi_get() in nilfs_fill_super(). The single
     reference taken by setup_bdev_super() is enough and is released
     during superblock shutdown"

* tag 'nilfs2-v7.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/vdubeyko/nilfs2:
  nilfs2: Fix return in nilfs_mkdir
  nilfs2: fix backing_dev_info reference leak
  nilfs2: reject CLEAN_SEGMENTS ioctl with out-of-range segment numbers
2026-06-16 12:14:20 +05:30
..
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 64-bit division operations in nilfs_bmap_find_target_in_group() 2026-03-17 15:38:49 +01:00
bmap.h nilfs2: use the BITS_PER_LONG macro 2024-09-01 20:43:42 -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 mm.git review status for linus..mm-stable 2026-04-15 12:59:16 -07:00
btree.h nilfs2: add missing description of nilfs_btree_path structure 2024-09-01 20:43:36 -07:00
cpfile.c nilfs2: use the new ->i_state accessors 2025-10-20 20:22:27 +02: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 treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
direct.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01: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: use the new ->i_state accessors 2025-10-20 20:22:27 +02:00
ifile.h nilfs2: convert inode file to be folio-based 2024-11-05 17:12:38 -08:00
inode.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
ioctl.c nilfs2: replace get_zeroed_page() with kzalloc() 2026-05-27 15:12:23 +02:00
Kconfig fs: add CONFIG_BUFFER_HEAD 2023-08-02 09:13:09 -06:00
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: Fix return in nilfs_mkdir 2026-05-20 11:20:56 -07:00
nilfs.h fs: inline current_umask() and move it to fs_struct.h 2025-11-05 22:51:23 +01:00
page.c folio_batch: rename pagevec.h to folio_batch.h 2026-04-05 13:53:07 -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 treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08: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: reject CLEAN_SEGMENTS ioctl with out-of-range segment numbers 2026-05-04 14:13:33 -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: add missing return value kernel-doc descriptions 2025-01-24 22:47:25 -08: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 Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
the_nilfs.h nilfs2: eliminate the shared counter and spinlock for i_generation 2024-09-01 20:43:43 -07:00