linux-yocto/fs/afs
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
..
addr_list.c afs: Remove the unimplemented afs_cmp_addr_list() 2024-01-01 16:37:26 +00:00
addr_prefs.c afs: Fix merge preference rule failure condition 2025-01-09 17:21:41 +01:00
afs_cm.h
afs_fs.h
afs_vl.h afs: Fix the maximum cell name length 2025-01-07 15:55:25 +01:00
afs.h afs: Fix the maximum cell name length 2025-01-07 15:55:25 +01:00
callback.c afs: Add more tracepoints to do with tracking validity 2024-12-20 22:34:06 +01:00
cell.c afs: Add rootcell checks 2025-01-10 14:54:07 +01:00
cmservice.c rxrpc, afs: Allow afs to pin rxrpc_peer objects 2023-12-24 15:22:50 +00:00
dir_edit.c afs: Use the contained hashtable to search a directory 2024-12-20 22:34:09 +01:00
dir_search.c afs: Use the contained hashtable to search a directory 2024-12-20 22:34:09 +01:00
dir_silly.c afs: Simplify error handling 2023-12-24 15:22:53 +00:00
dir.c Provide stable parent and name to ->d_revalidate() instances 2025-01-30 09:13:35 -08:00
dynroot.c afs: Make /afs/@cell and /afs/.@cell symlinks 2025-01-10 14:54:08 +01:00
file.c afs: Add a tracepoint for afs_read_receive() 2024-12-20 22:34:09 +01:00
flock.c afs: adapt to breakup of struct file_lock 2024-02-05 13:11:42 +01:00
fs_operation.c afs: Make {Y,}FS.FetchData an asynchronous operation 2024-12-20 22:34:08 +01:00
fs_probe.c afs: Fix possible infinite loop with unresponsive servers 2024-09-27 18:29:19 +02:00
fsclient.c afs: Make {Y,}FS.FetchData an asynchronous operation 2024-12-20 22:34:08 +01:00
inode.c afs: Locally initialise the contents of a new symlink on creation 2024-12-20 22:34:09 +01:00
internal.h afs: Locally initialise the contents of a new symlink on creation 2024-12-20 22:34:09 +01:00
Kconfig
main.c afs: Make {Y,}FS.FetchData an asynchronous operation 2024-12-20 22:34:08 +01:00
Makefile afs: Use the contained hashtable to search a directory 2024-12-20 22:34:09 +01:00
misc.c afs: Simplify error handling 2023-12-24 15:22:53 +00:00
mntpt.c afs: Use netfslib for symlinks, allowing them to be cached 2024-12-20 22:34:07 +01:00
proc.c afs: Add rootcell checks 2025-01-10 14:54:07 +01:00
protocol_afs.h
protocol_uae.h
protocol_yfs.h
rotate.c afs: Add more tracepoints to do with tracking validity 2024-12-20 22:34:06 +01:00
rxrpc.c afs: Make {Y,}FS.FetchData an asynchronous operation 2024-12-20 22:34:08 +01:00
security.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
server_list.c afs: Fix fileserver rotation 2024-01-01 16:37:27 +00:00
server.c afs: Fix ignored callbacks over ipv4 2024-02-20 09:51:21 +01:00
super.c afs: Use netfslib for directories 2024-12-20 22:34:07 +01:00
validation.c afs: Add more tracepoints to do with tracking validity 2024-12-20 22:34:06 +01:00
vl_alias.c afs: Fix the maximum cell name length 2025-01-07 15:55:25 +01:00
vl_list.c afs: Dispatch vlserver probes in priority order 2024-01-01 16:37:27 +00:00
vl_probe.c afs: Keep a record of the current fileserver endpoint state 2024-01-01 16:37:27 +00:00
vl_rotate.c afs: Add some more info to /proc/net/afs/servers 2024-01-01 16:36:58 +00:00
vlclient.c vfs-6.14-rc1.netfs 2025-01-20 09:29:11 -08:00
volume.c afs: Increase buffer size in afs_update_volume_status() 2024-02-20 09:51:21 +01:00
write.c afs: Make {Y,}FS.FetchData an asynchronous operation 2024-12-20 22:34:08 +01:00
xattr.c afs: Add __counted_by for struct afs_acl and use struct_size() 2023-12-01 09:51:43 -08:00
xdr_fs.h afs: Fix directory format encoding struct 2024-12-20 22:34:04 +01:00
yfsclient.c vfs-6.14-rc1.afs 2025-01-20 11:40:48 -08:00