linux/fs
Linus Torvalds 75a452d31b Changes for 7.0-rc1
Added:
     improve readahead for bitmap initialization and large directory scans
 	fsync files by syncing parent inodes
 	drop of preallocated clusters for sparse and compressed files
 	zero-fill folios beyond i_valid in ntfs_read_folio()
 	implement llseek SEEK_DATA/SEEK_HOLE by scanning data runs
 	implement iomap-based file operations
 	allow explicit boolean acl/prealloc mount options
 	a fall-through between switch labels
 	a delayed-allocation (delalloc) support
 
 Fixed:
     check return value of indx_find to avoid infinite loop
 	initialize new folios before use
 	an infinite loop in attr_load_runs_range on inconsistent metadata
 	an infinite loop triggered by zero-sized ATTR_LIST
 	ntfs_mount_options leak in ntfs_fill_super()
 	a deadlock in ni_read_folio_cmpr
 	a circular locking dependency in run_unpack_ex
 	prevent infinite loops caused by the next valid being the same
 	restore NULL folio initialization in ntfs_writepages()
 	a slab-out-of-bounds read in DeleteIndexEntryRoot
 
 Changed:
     allow readdir() to finish after directory mutations without rewinddir()
 	handle attr_set_size() errors when truncating files
 	make ntfs_writeback_ops static
 	refactor duplicate kmemdup pattern in do_action()
 	avoid calling run_get_entry() when run == NULL in ntfs_read_run_nb_ra()
 
 Replaced:
 	use wait_on_buffer() directly
 	rename ni_readpage_cmpr into ni_read_folio_cmpr
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEh0DEKNP0I9IjwfWEqbAzH4MkB7YFAmmUuGYACgkQqbAzH4Mk
 B7ZEHw/+LI38Sd6kkEJZLz2eMi1oL4FwS604tB9Y2k9KrxiPYbO4u2aEgomaCgTy
 QXdeOQWaCJ2Zj0sNVHPoeF9x2neTWu+3DValLxDyL6C+joYYqFPgfkSMTfMOeX+o
 Adf0WxGQSJ74Xnxn9dZER+rO50/V6xF0m5E8G9f78+fF+iN6zW8+tqc0wjkbgfNq
 2qHJ5pyvN7izkzBV9ZYGt7UeLgoGE7JmKeuw/MyFgqCkh4k9yethK7N2cGYnUFyc
 4RGuZloro5K7YlSgtvOufeLWoXNaP1rd8q+/skY1yJsJZbGknEWP11Ph1N67lW3b
 VuqcHFKTNvj2fuEm+T+YMpnzRXEAoGNaAocn+sv1Pd6SBuI05xzWhCM+DWxDQWlN
 fQhCMphf5FUhRfOLgitXnkgBM9wQAgRrE98+8jPmkaCxYJYviSYeKMkC0QfF09rf
 P4Ct1lYbdZNcYjD0EGVISJL3KxQ3XPK26qVqdumOQk+30s85GlAvCfTPoNcwXmxS
 xx/gnTFFIGFzyZyyMACRu9EdXZktPlBq70nWUMVfva5aGq0t+rKZSydiwQLCYRHj
 NtRtg2O5Qd1QumdpjhQRsX1NC8UU1/VpAnixiS7FMvxo7bw5Ksnk+qiL5Ocao7lC
 3Fd/95WYsUJZLkF/J8ayTkhexTyRcl2QZvDzRX00yEseIpQiu2U=
 =Y5Q9
 -----END PGP SIGNATURE-----

Merge tag 'ntfs3_for_7.0' of https://github.com/Paragon-Software-Group/linux-ntfs3

Pull ntfs3 updates from Konstantin Komarov:
 "New code:
   - improve readahead for bitmap initialization and large directory scans
   - fsync files by syncing parent inodes
   - drop of preallocated clusters for sparse and compressed files
   - zero-fill folios beyond i_valid in ntfs_read_folio()
   - implement llseek SEEK_DATA/SEEK_HOLE by scanning data runs
   - implement iomap-based file operations
   - allow explicit boolean acl/prealloc mount options
   - fall-through between switch labels
   - delayed-allocation (delalloc) support

  Fixes:
   - check return value of indx_find to avoid infinite loop
   - initialize new folios before use
   - infinite loop in attr_load_runs_range on inconsistent metadata
   - infinite loop triggered by zero-sized ATTR_LIST
   - ntfs_mount_options leak in ntfs_fill_super()
   - deadlock in ni_read_folio_cmpr
   - circular locking dependency in run_unpack_ex
   - prevent infinite loops caused by the next valid being the same
   - restore NULL folio initialization in ntfs_writepages()
   - slab-out-of-bounds read in DeleteIndexEntryRoot

  Updates:
   - allow readdir() to finish after directory mutations without rewinddir()
   - handle attr_set_size() errors when truncating files
   - make ntfs_writeback_ops static
   - refactor duplicate kmemdup pattern in do_action()
   - avoid calling run_get_entry() when run == NULL in ntfs_read_run_nb_ra()

  Replaced:
   - use wait_on_buffer() directly
   - rename ni_readpage_cmpr into ni_read_folio_cmpr"

* tag 'ntfs3_for_7.0' of https://github.com/Paragon-Software-Group/linux-ntfs3: (26 commits)
  fs/ntfs3: add delayed-allocation (delalloc) support
  fs/ntfs3: avoid calling run_get_entry() when run == NULL in ntfs_read_run_nb_ra()
  fs/ntfs3: add fall-through between switch labels
  fs/ntfs3: allow explicit boolean acl/prealloc mount options
  fs/ntfs3: Fix slab-out-of-bounds read in DeleteIndexEntryRoot
  ntfs3: Restore NULL folio initialization in ntfs_writepages()
  ntfs3: Refactor duplicate kmemdup pattern in do_action()
  fs/ntfs3: prevent infinite loops caused by the next valid being the same
  fs/ntfs3: make ntfs_writeback_ops static
  ntfs3: fix circular locking dependency in run_unpack_ex
  fs/ntfs3: implement iomap-based file operations
  fs/ntfs3: fix deadlock in ni_read_folio_cmpr
  fs/ntfs3: implement llseek SEEK_DATA/SEEK_HOLE by scanning data runs
  fs/ntfs3: zero-fill folios beyond i_valid in ntfs_read_folio()
  fs/ntfs3: handle attr_set_size() errors when truncating files
  fs/ntfs3: drop preallocated clusters for sparse and compressed files
  fs/ntfs3: fsync files by syncing parent inodes
  fs/ntfs3: fix ntfs_mount_options leak in ntfs_fill_super()
  fs/ntfs3: allow readdir() to finish after directory mutations without rewinddir()
  fs/ntfs3: improve readahead for bitmap initialization and large directory scans
  ...
2026-02-17 15:37:06 -08:00
..
9p vfs-7.0-rc1.misc 2026-02-09 15:13:05 -08:00
adfs kernel.h: drop hex.h and update all hex.h users 2026-01-20 19:44:19 -08:00
affs affs: add setlease file operation 2026-01-12 10:55:45 +01:00
afs Networking changes for 6.19. 2025-12-03 17:24:33 -08:00
autofs vfs-6.19-rc1.fixes 2025-12-05 15:52:30 -08:00
befs fs: add setlease to generic_ro_fops and read-only filesystem directory operations 2026-01-12 10:55:45 +01:00
bfs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
btrfs fsverity updates for 7.0 2026-02-12 10:41:34 -08:00
cachefiles vfs-6.19-rc1.directory.locking 2025-12-01 16:13:46 -08:00
ceph This adds support for the upcoming aes256k key type in CephX that is 2026-02-17 15:18:51 -08:00
coda Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
configfs Some filesystems use a kinda-sorta controlled dentry refcount leak to pin 2025-12-05 14:36:21 -08:00
cramfs fs: add setlease to generic_ro_fops and read-only filesystem directory operations 2026-01-12 10:55:45 +01:00
crypto vfs-7.0-rc1.misc.2 2026-02-16 13:00:36 -08:00
debugfs debugfs: Fix memleak in debugfs_change_name(). 2025-12-19 16:43:40 +01:00
devpts convert devpts 2025-11-16 01:35:04 -05:00
dlm Locking updates for v6.20: 2026-02-10 12:28:44 -08:00
ecryptfs vfs-7.0-rc1.misc.2 2026-02-16 13:00:36 -08:00
efivarfs mm.git review status for linus..mm-nonmm-stable 2026-02-12 12:13:01 -08:00
efs fs: add setlease to generic_ro_fops and read-only filesystem directory operations 2026-01-12 10:55:45 +01:00
erofs Changes since last update: 2026-02-09 16:08:40 -08:00
exfat exfat: add blank line after declarations 2026-02-12 21:21:51 +09:00
exportfs fs: add helpers name_is_dot{,dot,_dotdot} 2026-01-29 10:06:59 +01:00
ext2 vfs-7.0-rc1.fserror 2026-02-09 12:21:37 -08:00
ext4 mm.git review status for linus..mm-stable 2026-02-12 11:32:37 -08:00
f2fs vfs-7.0-rc1.misc.2 2026-02-16 13:00:36 -08:00
fat mm.git review status for linus..mm-nonmm-stable 2026-02-12 12:13:01 -08:00
freevxfs fs: add setlease to generic_ro_fops and read-only filesystem directory operations 2026-01-12 10:55:45 +01:00
fuse fs: fuse: fix max() of incompatible types 2026-02-09 15:19:43 -08:00
gfs2 mm.git review status for linus..mm-nonmm-stable 2026-02-12 12:13:01 -08:00
hfs hfs: Replace BUG_ON with error handling for CNID count checks 2026-01-06 12:39:19 -08:00
hfsplus hfsplus: avoid double unload_nls() on mount failure 2026-02-06 15:20:00 -08:00
hostfs Apart from the usual small churn, we have 2025-12-05 16:30:56 -08:00
hpfs vfs-6.19-rc1.fs_header 2025-12-01 14:18:01 -08:00
hugetlbfs Some filesystems use a kinda-sorta controlled dentry refcount leak to pin 2025-12-05 14:36:21 -08:00
iomap for-7.0/block-stable-pages-20260206 2026-02-09 18:14:52 -08:00
isofs \n 2026-02-12 10:57:57 -08:00
jbd2 jbd2: fix the inconsistency between checksum and data in memory for journal sb 2025-11-26 17:05:47 -05:00
jffs2 jffs2: add setlease file operation 2026-01-12 10:55:46 +01:00
jfs Just a handful of minor jfs fixes 2026-02-12 09:30:56 -08:00
kernfs fs/kernfs: null-ptr deref in simple_xattrs_free() 2025-12-23 16:14:43 +01:00
lockd sunrpc: allow svc_recv() to return -ETIMEDOUT and -EBUSY 2026-01-28 10:15:42 -05:00
minix vfs-7.0-rc1.minix 2026-02-09 13:38:07 -08:00
netfs netfs: avoid double increment of retry_count in subreq 2026-02-08 17:07:43 -06:00
nfs NFS Client Updates for Linux 7.0 2026-02-12 17:49:33 -08:00
nfs_common NFSD: Remove NFSERR_EAGAIN 2026-01-02 13:43:41 -05:00
nfsd vfs-7.0-rc1.misc.2 2026-02-16 13:00:36 -08:00
nilfs2 nilfs2 updates for v7.0 2026-02-09 15:55:41 -08:00
nls fs/nls: Fix inconsistency between utf8_to_utf32() and utf32_to_utf8() 2025-12-01 11:58:06 +02:00
notify fsnotify: Use connector list for destroying inode marks 2026-01-23 13:26:37 +01:00
ntfs3 Changes for 7.0-rc1 2026-02-17 15:37:06 -08:00
ocfs2 mm.git review status for linus..mm-nonmm-stable 2026-02-12 12:13:01 -08:00
omfs vfs-6.19-rc1.fs_header 2025-12-01 14:18:01 -08:00
openpromfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
orangefs orangefs: fixes for string handling in orangefs-debugfs.c and xattr.c, 2026-02-12 08:57:31 -08:00
overlayfs overlayfs updates for 7.0 2026-02-17 15:08:24 -08:00
proc Three MM hotfixes, all three are cc:stable. 2026-02-13 12:13:27 -08:00
pstore pstore/ram: fix buffer overflow in persistent_ram_save_old() 2026-02-06 16:50:35 -08:00
qnx4 fs: add setlease to generic_ro_fops and read-only filesystem directory operations 2026-01-12 10:55:45 +01:00
qnx6 fs: add setlease to generic_ro_fops and read-only filesystem directory operations 2026-01-12 10:55:45 +01:00
quota \n 2026-02-12 10:57:57 -08:00
ramfs Some filesystems use a kinda-sorta controlled dentry refcount leak to pin 2025-12-05 14:36:21 -08:00
resctrl fs/resctrl: Move RMID initialization to first mount 2026-01-10 11:46:48 +01:00
romfs romfs: check sb_set_blocksize() return value 2026-01-13 09:56:58 +01:00
smb 14 client changesets 2026-02-17 15:02:49 -08:00
squashfs squashfs: add setlease file operation 2026-01-12 10:55:47 +01:00
sysfs sysfs: remove exports of sysfs_*change_owner() 2026-02-05 16:49:38 +01:00
tests fs/tests: exec: drop duplicate bprm_stack_limits test vectors 2026-02-03 17:39:00 -08:00
tracefs convert tracefs 2025-11-16 01:35:03 -05:00
ubifs fs: add support for non-blocking timestamp updates 2026-01-12 14:01:33 +01:00
udf mm.git review status for linus..mm-nonmm-stable 2026-02-12 12:13:01 -08:00
ufs ufs: add setlease file operation 2026-01-12 10:55:48 +01:00
unicode
vboxsf fs: remove simple_nosetlease() 2026-01-12 10:55:48 +01:00
verity vfs-7.0-rc1.misc.2 2026-02-16 13:00:36 -08:00
xfs mm.git review status for linus..mm-stable 2026-02-12 11:32:37 -08:00
zonefs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
aio.c aio: use credential guards 2025-11-04 12:36:33 +01:00
anon_inodes.c anon_inodes: convert to FD_ADD() 2025-11-28 12:42:31 +01:00
attr.c fs,fsverity: reject size changes on fsverity files in setattr_prepare 2026-01-29 09:39:41 -08:00
backing-file.c kernel-6.19-rc1.cred 2025-12-01 13:45:41 -08:00
bad_inode.c fs: refactor ->update_time handling 2026-01-12 14:01:32 +01:00
binfmt_elf.c rseq: Provide and use rseq_set_ids() 2025-11-04 08:33:33 +01:00
binfmt_elf_fdpic.c execve updates for v6.17 2025-07-28 17:11:40 -07:00
binfmt_flat.c
binfmt_misc.c kernel.h: drop hex.h and update all hex.h users 2026-01-20 19:44:19 -08:00
binfmt_script.c
bpf_fs_kfuncs.c bpf: Remove redundant KF_TRUSTED_ARGS flag from all kfuncs 2026-01-02 12:04:28 -08:00
buffer.c fsverity updates for 7.0 2026-02-12 10:41:34 -08:00
char_dev.c chardev: Switch to guard(mutex) and __free(kfree) 2025-12-24 13:55:51 +01:00
compat_binfmt_elf.c
coredump.c hardening updates for v7.0-rc1 2026-02-10 08:54:13 -08:00
d_path.c
dax.c Significant patch series in this merge are as follows: 2025-12-05 13:52:43 -08:00
dcache.c vfs-7.0-rc1.misc.2 2026-02-16 13:00:36 -08:00
direct-io.c Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
drop_caches.c Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
eventfd.c eventfd: convert do_eventfd() to FD_PREPARE() 2025-11-28 12:42:31 +01:00
eventpoll.c eventpoll: convert do_epoll_create() to FD_PREPARE() 2025-11-28 12:42:32 +01:00
exec.c struct filename series 2026-02-09 16:58:28 -08:00
fcntl.c vfs: expose delegation support to userland 2025-11-12 09:38:37 +01:00
fhandle.c name_to_handle_at(): use CLASS(filename_uflags) 2026-01-16 12:52:03 -05:00
file.c fs/file: optimize close_range() complexity from O(N) to O(Sparse) 2026-01-23 11:31:49 +01:00
file_attr.c vfs-7.0-rc1.misc.2 2026-02-16 13:00:36 -08:00
file_table.c Changes since last update: 2026-02-09 16:08:40 -08:00
filesystems.c sysfs(2): fs_index() argument is _not_ a pathname 2026-01-16 12:52:04 -05:00
fs-writeback.c cgroup: Changes for v6.20 2026-02-11 13:20:50 -08:00
fs_context.c fs: Remove internal old mount API code 2025-12-15 14:48:33 +01:00
fs_dirent.c fs: rename fs_types.h to fs_dirent.h 2025-11-05 09:51:30 +01:00
fs_parser.c
fs_pin.c
fs_struct.c fs: add <linux/init_task.h> for 'init_fs' 2026-01-14 16:50:37 +01:00
fserror.c fs: report filesystem and file I/O errors to fsnotify 2026-01-13 09:58:01 +01:00
fsopen.c struct filename series 2026-02-09 16:58:28 -08:00
init.c struct filename series 2026-02-09 16:58:28 -08:00
inode.c fsverity updates for 7.0 2026-02-12 10:41:34 -08:00
internal.h struct filename series 2026-02-09 16:58:28 -08:00
ioctl.c fs: remove vfs_ioctl export 2025-09-01 13:08:01 +02:00
Kconfig Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
Kconfig.binfmt binfmt_elf: preserve original ELF e_flags for core dumps 2025-09-03 20:49:32 -07:00
kernel_read_file.c
libfs.c fs: remove simple_nosetlease() 2026-01-12 10:55:48 +01:00
locks.c NFSD 7.0 Release Notes 2026-02-12 08:23:53 -08:00
Makefile vfs-7.0-rc1.nullfs 2026-02-09 13:41:34 -08:00
mbcache.c
mnt_idmapping.c
mount.h fs: add immutable rootfs 2026-01-12 16:52:09 +01:00
mpage.c mpage: convert do_mpage_readpage() to return void type 2025-09-21 14:22:16 -07:00
namei.c vfs-7.0-rc1.misc.2 2026-02-16 13:00:36 -08:00
namespace.c struct filename series 2026-02-09 16:58:28 -08:00
nsfs.c mount: add OPEN_TREE_NAMESPACE 2026-01-16 19:21:40 +01:00
nullfs.c fs: add immutable rootfs 2026-01-12 16:52:09 +01:00
open.c struct filename series 2026-02-09 16:58:28 -08:00
pidfs.c vfs-7.0-rc1.misc.2 2026-02-16 13:00:36 -08:00
pipe.c Summary 2025-12-05 11:15:37 -08:00
pnode.c umount_tree(): take all victims out of propagation graph at once 2025-09-15 21:26:44 -04:00
pnode.h umount_tree(): take all victims out of propagation graph at once 2025-09-15 21:26:44 -04:00
posix_acl.c posix_acl: make posix_acl_to_xattr() alloc the buffer 2026-01-16 10:51:12 +01:00
proc_namespace.c
read_write.c fs: add setlease to generic_ro_fops and read-only filesystem directory operations 2026-01-12 10:55:45 +01:00
readdir.c readdir: require opt-in for d_type flags 2026-01-12 10:57:34 +01:00
remap_range.c
select.c select: store end_time as timespec64 in restart block 2025-12-24 14:01:57 +01:00
seq_file.c kernel.h: drop hex.h and update all hex.h users 2026-01-20 19:44:19 -08:00
signalfd.c signalfd: convert do_signalfd4() to FD_ADD() 2025-11-28 12:42:32 +01:00
splice.c fs: use min() or umin() instead of min_t() 2025-12-15 14:33:37 +01:00
stack.c
stat.c statx: switch to CLASS(filename_maybe_null) 2026-01-16 12:52:04 -05:00
statfs.c user_statfs(): switch to CLASS(filename) 2026-01-16 12:52:04 -05:00
super.c \n 2026-02-12 10:52:46 -08:00
sync.c mm.git review status for linus..mm-stable 2026-02-12 11:32:37 -08:00
sysctls.c
timerfd.c timerfd: convert timerfd_create() to FD_ADD() 2025-11-28 12:42:32 +01:00
userfaultfd.c Significant patch series in this merge are as follows: 2025-12-05 13:52:43 -08:00
utimes.c do_utimes_path(): switch to CLASS(filename_uflags) 2026-01-16 12:52:03 -05:00
xattr.c filename_...xattr(): don't consume filename reference 2026-01-16 12:52:03 -05:00