linux/fs
Linus Torvalds fd101da676 vfs-6.15-rc1.mount
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCZ90qAwAKCRCRxhvAZXjc
 on7lAP0akpIsJMWREg9tLwTNTySI1b82uKec0EAgM6T7n/PYhAD/T4zoY8UYU0Pr
 qCxwTXHUVT6bkNhjREBkfqq9OkPP8w8=
 =GxeN
 -----END PGP SIGNATURE-----

Merge tag 'vfs-6.15-rc1.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull vfs mount updates from Christian Brauner:

 - Mount notifications

   The day has come where we finally provide a new api to listen for
   mount topology changes outside of /proc/<pid>/mountinfo. A mount
   namespace file descriptor can be supplied and registered with
   fanotify to listen for mount topology changes.

   Currently notifications for mount, umount and moving mounts are
   generated. The generated notification record contains the unique
   mount id of the mount.

   The listmount() and statmount() api can be used to query detailed
   information about the mount using the received unique mount id.

   This allows userspace to figure out exactly how the mount topology
   changed without having to generating diffs of /proc/<pid>/mountinfo
   in userspace.

 - Support O_PATH file descriptors with FSCONFIG_SET_FD in the new mount
   api

 - Support detached mounts in overlayfs

   Since last cycle we support specifying overlayfs layers via file
   descriptors. However, we don't allow detached mounts which means
   userspace cannot user file descriptors received via
   open_tree(OPEN_TREE_CLONE) and fsmount() directly. They have to
   attach them to a mount namespace via move_mount() first.

   This is cumbersome and means they have to undo mounts via umount().
   Allow them to directly use detached mounts.

 - Allow to retrieve idmappings with statmount

   Currently it isn't possible to figure out what idmapping has been
   attached to an idmapped mount. Add an extension to statmount() which
   allows to read the idmapping from the mount.

 - Allow creating idmapped mounts from mounts that are already idmapped

   So far it isn't possible to allow the creation of idmapped mounts
   from already idmapped mounts as this has significant lifetime
   implications. Make the creation of idmapped mounts atomic by allow to
   pass struct mount_attr together with the open_tree_attr() system call
   allowing to solve these issues without complicating VFS lookup in any
   way.

   The system call has in general the benefit that creating a detached
   mount and applying mount attributes to it becomes an atomic operation
   for userspace.

 - Add a way to query statmount() for supported options

   Allow userspace to query which mount information can be retrieved
   through statmount().

 - Allow superblock owners to force unmount

* tag 'vfs-6.15-rc1.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (21 commits)
  umount: Allow superblock owners to force umount
  selftests: add tests for mount notification
  selinux: add FILE__WATCH_MOUNTNS
  samples/vfs: fix printf format string for size_t
  fs: allow changing idmappings
  fs: add kflags member to struct mount_kattr
  fs: add open_tree_attr()
  fs: add copy_mount_setattr() helper
  fs: add vfs_open_tree() helper
  statmount: add a new supported_mask field
  samples/vfs: add STATMOUNT_MNT_{G,U}IDMAP
  selftests: add tests for using detached mount with overlayfs
  samples/vfs: check whether flag was raised
  statmount: allow to retrieve idmappings
  uidgid: add map_id_range_up()
  fs: allow detached mounts in clone_private_mount()
  selftests/overlayfs: test specifying layers as O_PATH file descriptors
  fs: support O_PATH fds with FSCONFIG_SET_FD
  vfs: add notifications for mount attach and detach
  fanotify: notify on mount attach and detach
  ...
2025-03-24 09:34:10 -07:00
..
9p Provide stable parent and name to ->d_revalidate() instances 2025-01-30 09:13:35 -08:00
adfs
affs affs: don't write overlarge OFS data block size fields 2025-02-26 15:20:57 +01:00
afs afs: Fix afs_atcell_get_link() to check if ws_cell is unset first 2025-03-19 09:23:05 +01:00
autofs vfs-6.15-rc1.mount 2025-03-24 09:34:10 -07:00
bcachefs bcachefs: fix build on 32 bit in get_random_u64_below() 2025-03-14 19:45:54 -04:00
befs
bfs
btrfs for-6.14-rc5-tag 2025-03-07 11:17:30 -10:00
cachefiles make use of anon_inode_getfile_fmode() 2025-02-21 10:25:31 +01:00
ceph A fix for a memory leak from Antoine (marked for stable) and two 2025-01-31 10:30:34 -08:00
coda Provide stable parent and name to ->d_revalidate() instances 2025-01-30 09:13:35 -08:00
configfs configfs: improve item creation performance 2024-11-14 07:45:20 +01:00
cramfs
crypto fscrypt_d_revalidate(): use stable parent inode passed by caller 2025-01-27 19:25:23 -05:00
debugfs debugfs: Fix the missing initializations in __debugfs_file_get() 2025-01-30 08:22:31 +01:00
devpts vfs: Convert devpts to use the new mount API 2025-02-06 11:51:43 +01:00
dlm dlm: return -ENOENT if no comm was found 2024-12-19 13:11:24 -06:00
ecryptfs ecryptfs: remove NULL remount_fs from super_operations 2025-03-01 11:02:36 +01:00
efivarfs efivarfs: fix NULL dereference on resume 2025-03-18 08:46:08 +01:00
efs
erofs lockref: remove count argument of lockref_init 2025-02-07 10:27:25 +01:00
exfat exfat: add a check for invalid data size 2025-03-05 21:53:20 +09:00
exportfs exportfs: remove locking around ->get_parent() call. 2025-03-14 11:39:59 +01:00
ext2
ext4 Revert "ext4: add pre-content fsnotify hook for DAX faults" 2025-03-13 16:29:58 +01:00
f2fs f2fs-for-6.14-rc1 2025-01-27 20:58:58 -08:00
fat vfat_revalidate{,_ci}(): use stable parent inode passed by caller 2025-01-27 19:25:24 -05:00
freevxfs freevxfs: Replace one-element array with flexible array member 2024-11-06 10:42:06 +01:00
fuse fuse: fix possible deadlock if rings are never initialized 2025-03-19 14:00:11 +01:00
gfs2 lockref: remove count argument of lockref_init 2025-02-07 10:27:25 +01:00
hfs Provide stable parent and name to ->d_revalidate() instances 2025-01-30 09:13:35 -08:00
hfsplus vfs-6.13.misc 2024-11-18 09:35:30 -08:00
hostfs hostfs __dentry_name() fix 2025-01-31 09:33:54 -08:00
hpfs
hugetlbfs mm/hugetlb: rename avoid_reserve to cow_from_owner 2025-01-25 20:22:30 -08:00
iomap iomap: Minor code simplification in iomap_dio_bio_iter() 2025-02-25 11:55:26 +01:00
isofs isofs: Partially convert zisofs_read_folio to use a folio 2024-12-05 13:52:37 +01:00
jbd2 CRC updates for 6.14 2025-01-22 19:55:08 -08:00
jffs2 jffs2: Fix rtime decompressor 2024-12-05 12:31:40 +01:00
jfs Pass parent directory inode and expected name to ->d_revalidate() 2025-01-27 19:25:23 -05:00
kernfs assorted stuff for this merge window 2025-02-01 15:07:56 -08:00
lockd treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
minix
netfs netfs: Fix netfs_unbuffered_read() to return ssize_t rather than int 2025-03-19 10:04:23 +01:00
nfs 33 hotfixes. 24 are cc:stable and the remainder address post-6.13 issues 2025-03-08 14:34:06 -10:00
nfs_common nfs: fix incorrect error handling in LOCALIO 2025-01-21 11:34:43 -05:00
nfsd nfsd-6.14 fixes: 2025-02-10 13:11:24 -08:00
nilfs2 nilfs2: fix possible int overflows in nilfs_fiemap() 2025-02-01 03:53:26 -08:00
nls
notify vfs-6.15-rc1.mount 2025-03-24 09:34:10 -07:00
ntfs3 fs/ntfs3: Unify inode corruption marking with _ntfs_bad_inode() 2024-12-30 11:37:40 +03:00
ocfs2 ocfs2: fix incorrect CPU endianness conversion causing mount failure 2025-02-01 03:53:24 -08:00
omfs
openpromfs
orangefs orangefs: fix a oob in orangefs_debug_write 2025-01-31 09:40:31 -08:00
overlayfs ovl: fix UAF in ovl_dentry_update_reval by moving dput() in ovl_link_up 2025-02-19 18:06:53 +01:00
proc proc: fix UAF in proc_get_inode() 2025-03-16 17:40:22 -07:00
pstore pstore: convert to the new mount API 2025-02-06 11:50:43 +01:00
qnx4
qnx6 fs/qnx6: Fix building with GCC 15 2024-12-03 10:40:36 +01:00
quota treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
ramfs
romfs
smb vfs-6.15-rc1.misc 2025-03-24 09:13:50 -07:00
squashfs squashfs: fix invalid pointer dereference in squashfs_cache_delete 2025-03-16 17:40:24 -07:00
sysfs sysfs: constify bin_attribute argument of sysfs_bin_attr_simple_read() 2025-01-09 10:43:58 +01:00
sysv sysv: convert sysv to use the new mount api 2025-02-06 15:26:12 +01:00
tests
tracefs Pass parent directory inode and expected name to ->d_revalidate() 2025-01-27 19:25:23 -05:00
ubifs ubifs: skip dumping tnc tree when zroot is null 2025-01-18 15:31:35 +01:00
udf udf: Verify inode link counts before performing rename 2024-11-26 22:54:24 +01:00
ufs ufs: ufs_sb_private_info: remove unused s_{2,3}apb fields 2024-11-12 19:02:12 -05:00
unicode Revert "unicode: Don't special case ignorable code points" 2024-12-11 14:11:23 -08:00
vboxsf vboxsf: Add __nonstring annotations for unterminated strings 2025-03-11 13:06:39 +01:00
verity treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
xfs \n 2025-03-15 08:32:16 -10:00
zonefs
aio.c treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
anon_inodes.c add a string-to-qstr constructor 2025-01-27 19:25:45 -05:00
attr.c
backing-file.c tree-wide: s/revert_creds_light()/revert_creds()/g 2024-12-02 11:25:09 +01:00
bad_inode.c
binfmt_elf_fdpic.c fs: don't block write during exec on pre-content watched files 2024-12-11 17:45:18 +01:00
binfmt_elf.c fs: don't block write during exec on pre-content watched files 2024-12-11 17:45:18 +01:00
binfmt_flat.c binfmt_flat: Fix integer overflow bug on 32 bit systems 2025-01-10 08:49:05 -08:00
binfmt_misc.c execve updates for v6.14-rc1 2025-01-20 13:27:58 -08:00
binfmt_script.c
bpf_fs_kfuncs.c
buffer.c - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
char_dev.c
compat_binfmt_elf.c
coredump.c vfs-6.15-rc1.misc 2025-03-24 09:13:50 -07:00
d_path.c
dax.c
dcache.c vfs-6.15-rc1.misc 2025-03-24 09:13:50 -07:00
direct-io.c
drop_caches.c
eventfd.c make use of anon_inode_getfile_fmode() 2025-02-21 10:25:31 +01:00
eventpoll.c vfs-6.15-rc1.eventpoll 2025-03-24 09:31:24 -07:00
exec.c treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
fcntl.c fs: get rid of __FMODE_NONOTIFY kludge 2024-12-09 11:34:29 +01:00
fhandle.c exportfs: add permission method 2024-12-17 09:16:11 +01:00
file_table.c vfs-6.15-rc1.misc 2025-03-24 09:13:50 -07:00
file.c fs: sort out fd allocation vs dup2 race commentary, take 2 2025-03-20 15:17:56 +01:00
filesystems.c
fs_context.c fs: fc_log replace magic number 7 with ARRAY_SIZE() 2024-12-22 11:29:52 +01:00
fs_parser.c bcachefs: add support for true/false & yes/no in bool-type options 2024-12-21 01:36:17 -05:00
fs_pin.c
fs_struct.c
fs_types.c
fs-writeback.c Merge patch series "two little writeback cleanups v2" 2024-11-13 14:08:34 +01:00
fsopen.c fs: support O_PATH fds with FSCONFIG_SET_FD 2025-02-12 10:02:10 +01:00
init.c
inode.c fs: call inode_sb_list_add() outside of inode hash lock 2025-03-20 13:06:51 +01:00
internal.h vfs-6.15-rc1.mount 2025-03-24 09:34:10 -07:00
ioctl.c ioctl: Fix return type of several functions from long to int 2025-02-21 10:25:32 +01:00
Kconfig
Kconfig.binfmt
kernel_read_file.c fdget(), trivial conversions 2024-11-03 01:28:06 -05:00
libfs.c libfs: Fix duplicate directory entry in offset_dir_lookup 2025-03-20 14:28:18 +01:00
locks.c treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
Makefile
mbcache.c
mnt_idmapping.c statmount: allow to retrieve idmappings 2025-02-12 12:12:27 +01:00
mount.h vfs: add notifications for mount attach and detach 2025-02-05 17:21:11 +01:00
mpage.c
namei.c vfs-6.15-rc1.misc 2025-03-24 09:13:50 -07:00
namespace.c vfs-6.15-rc1.mount 2025-03-24 09:34:10 -07:00
nsfs.c nsfs: remove d_op->d_delete 2025-02-24 11:30:35 +01:00
open.c vfs-6.15-rc1.misc 2025-03-24 09:13:50 -07:00
pidfs.c pidfs: remove d_op->d_delete 2025-02-24 11:27:02 +01:00
pipe.c fs/pipe: add simpler helpers for common cases 2025-03-06 18:25:35 -10:00
pnode.c vfs: add notifications for mount attach and detach 2025-02-05 17:21:11 +01:00
pnode.h
posix_acl.c
proc_namespace.c
read_write.c fs: don't needlessly acquire f_lock 2025-02-21 10:25:32 +01:00
readdir.c introduce "fd_pos" class, convert fdget_pos() users to it. 2024-11-03 01:28:06 -05:00
remap_range.c convert vfs_dedupe_file_range(). 2024-11-03 01:28:07 -05:00
select.c select: Fix unbalanced user_access_end() 2025-01-13 16:24:16 +01:00
seq_file.c
signalfd.c make use of anon_inode_getfile_fmode() 2025-02-21 10:25:31 +01:00
splice.c fs/pipe: add simpler helpers for common cases 2025-03-06 18:25:35 -10:00
stack.c
stat.c fs/stat.c: avoid harmless garbage value problem in vfs_statx_path() 2025-02-07 10:27:24 +01:00
statfs.c fdget_raw() users: switch to CLASS(fd_raw) 2024-11-03 01:28:06 -05:00
super.c vfs-6.15-rc1.misc 2025-03-24 09:13:50 -07:00
sync.c fdget(), trivial conversions 2024-11-03 01:28:06 -05:00
sysctls.c treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
timerfd.c make use of anon_inode_getfile_fmode() 2025-02-21 10:25:31 +01:00
userfaultfd.c treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
utimes.c fdget(), more trivial conversions 2024-11-03 01:28:06 -05:00
xattr.c xattr: remove redundant check on variable err 2024-11-06 13:00:01 -05:00