linux-yocto/fs/fuse
Linus Torvalds d3d90cc289 Provide stable parent and name to ->d_revalidate() instances
Most of the filesystem methods where we care about dentry name
 and parent have their stability guaranteed by the callers;
 ->d_revalidate() is the major exception.
 
 It's easy enough for callers to supply stable values for
 expected name and expected parent of the dentry being
 validated.  That kills quite a bit of boilerplate in
 ->d_revalidate() instances, along with a bunch of races
 where they used to access ->d_name without sufficient
 precautions.
 
 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQqUNBr3gm4hGXdBJlZ7Krx/gZQ6wUCZ5gkoQAKCRBZ7Krx/gZQ
 6w9FAP4nyxNNWMjE1TwuWR/DNDMYYuw/qn/miZ88B5BUM8hzqgD/W2SjRvcbSaIm
 xSIYpbtKgtqNU34P1PU+dBvL8Utz2AE=
 =TWY8
 -----END PGP SIGNATURE-----

Merge tag 'pull-revalidate' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs

Pull vfs d_revalidate updates from Al Viro:
 "Provide stable parent and name to ->d_revalidate() instances

  Most of the filesystem methods where we care about dentry name and
  parent have their stability guaranteed by the callers;
  ->d_revalidate() is the major exception.

  It's easy enough for callers to supply stable values for expected name
  and expected parent of the dentry being validated. That kills quite a
  bit of boilerplate in ->d_revalidate() instances, along with a bunch
  of races where they used to access ->d_name without sufficient
  precautions"

* tag 'pull-revalidate' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  9p: fix ->rename_sem exclusion
  orangefs_d_revalidate(): use stable parent inode and name passed by caller
  ocfs2_dentry_revalidate(): use stable parent inode and name passed by caller
  nfs: fix ->d_revalidate() UAF on ->d_name accesses
  nfs{,4}_lookup_validate(): use stable parent inode passed by caller
  gfs2_drevalidate(): use stable parent inode and name passed by caller
  fuse_dentry_revalidate(): use stable parent inode and name passed by caller
  vfat_revalidate{,_ci}(): use stable parent inode passed by caller
  exfat_d_revalidate(): use stable parent inode passed by caller
  fscrypt_d_revalidate(): use stable parent inode passed by caller
  ceph_d_revalidate(): propagate stable name down into request encoding
  ceph_d_revalidate(): use stable parent inode passed by caller
  afs_d_revalidate(): use stable name and parent inode passed by caller
  Pass parent directory inode and expected name to ->d_revalidate()
  generic_ci_d_compare(): use shortname_storage
  ext4 fast_commit: make use of name_snapshot primitives
  dissolve external_name.u into separate members
  make take_dentry_name_snapshot() lockless
  dcache: back inline names with a struct-wrapped array of unsigned long
  make sure that DNAME_INLINE_LEN is a multiple of word size
2025-01-30 09:13:35 -08:00
..
acl.c fuse: support idmapped ->set_acl 2024-09-04 16:51:11 +02:00
control.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
cuse.c fuse: remove pages for requests and exclusively use folios 2024-11-05 14:08:35 +01:00
dax.c fuse: make args->in_args[0] to be always the header 2025-01-24 11:54:02 +01:00
dev_uring_i.h fuse: {io-uring} Prevent mount point hang on fuse-server termination 2025-01-27 18:02:21 +01:00
dev_uring.c fuse: prevent disabling io-uring on active connections 2025-01-27 18:02:23 +01:00
dev.c fuse: enable fuse-over-io-uring 2025-01-27 18:02:23 +01:00
dir.c Provide stable parent and name to ->d_revalidate() instances 2025-01-30 09:13:35 -08:00
file.c fuse: Set *nbytesp=0 in fuse_get_user_pages on allocation failure 2024-12-13 16:43:36 +01:00
fuse_dev_i.h fuse: {io-uring} Make fuse_dev_queue_{interrupt,forget} non-static 2025-01-27 18:01:22 +01:00
fuse_i.h fuse: block request allocation until io-uring init is complete 2025-01-27 18:02:23 +01:00
fuse_trace.h fuse: add simple request tracepoints 2024-08-29 11:43:13 +02:00
inode.c fuse: block request allocation until io-uring init is complete 2025-01-27 18:02:23 +01:00
ioctl.c fuse: remove pages for requests and exclusively use folios 2024-11-05 14:08:35 +01:00
iomode.c fuse: fix parallel dio write on file open in passthrough mode 2024-04-15 10:12:44 +02:00
Kconfig fuse: {io-uring} Handle SQEs - register commands 2025-01-24 11:54:08 +01:00
Makefile fuse: {io-uring} Handle SQEs - register commands 2025-01-24 11:54:08 +01:00
passthrough.c backing-file: clean up the API 2024-11-11 10:45:03 +01:00
readdir.c fuse: check attributes staleness on fuse_iget() 2024-11-18 12:24:13 +01:00
sysctl.c treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
virtio_fs.c virtio: features, fixes, cleanups 2024-11-27 13:11:58 -08:00
xattr.c fuse: make args->in_args[0] to be always the header 2025-01-24 11:54:02 +01:00