linux-yocto/fs/gfs2
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
acl.h
aops.c gfs2: Remove gfs2_jdata_writepage() 2024-09-02 14:46:33 +02:00
aops.h
bmap.c gfs2 updates 2024-05-14 17:35:22 -07:00
bmap.h
dentry.c gfs2_drevalidate(): use stable parent inode and name passed by caller 2025-01-27 19:25:24 -05:00
dir.c gfs2: Improve gfs2_consist_inode() usage 2024-04-09 18:35:57 +02:00
dir.h
export.c exportfs: Remove EXPORT_OP_ASYNC_LOCK 2024-10-01 17:01:08 +02:00
file.c gfs2: Truncate address space when flipping GFS2_DIF_JDATA flag 2025-01-14 18:54:08 +01:00
gfs2.h
glock.c gfs2 changes 2024-11-26 12:34:50 -08:00
glock.h gfs2: Faster gfs2_upgrade_iopen_glock wakeups 2024-11-05 12:39:28 +01:00
glops.c gfs2: Make gfs2_inode_refresh static 2024-11-05 12:39:29 +01:00
glops.h
incore.h gfs2: Rename GIF_{DEFERRED -> DEFER}_DELETE 2024-11-05 12:39:28 +01:00
inode.c gfs2: Initialize gl_no_formal_ino earlier 2024-09-24 19:03:33 +02:00
inode.h gfs2: Make gfs2_inode_refresh static 2024-11-05 12:39:29 +01:00
Kconfig
lock_dlm.c gfs2: Simplify DLM_LKF_QUECVT use 2024-11-05 12:39:29 +01:00
log.c gfs2: Remove __gfs2_writepage() 2024-09-02 14:46:29 +02:00
log.h
lops.c gfs2: Remove use of error flag in journal reads 2023-12-20 21:29:41 +01:00
lops.h
main.c mm, slab: remove last vestiges of SLAB_MEM_SPREAD 2024-03-12 20:32:19 -07:00
Makefile
meta_io.c gfs2: Remove gfs2_aspace_writepage() 2024-09-02 14:46:37 +02:00
meta_io.h
ops_fstype.c gfs2: fix double destroy_workqueue error 2024-08-20 16:27:22 +02:00
quota.c gfs2: use lockref_init for qd_lockref 2025-01-16 11:48:12 +01:00
quota.h gfs2: reorder capability check last 2024-12-09 10:44:35 +01:00
recovery.c gfs2: Rename gfs2_withdrawn to gfs2_withdrawing_or_withdrawn 2023-12-20 21:29:40 +01:00
recovery.h
rgrp.c gfs2: Use get_random_u32 in gfs2_orlov_skip 2024-11-05 12:39:29 +01:00
rgrp.h
super.c gfs2: Only defer deletes when we have an iopen glock 2024-11-19 12:33:20 +01:00
super.h
sys.c gfs2: Use [NO_]CREATE consistently for gfs2_glock_get 2024-04-09 18:35:57 +02:00
sys.h
trace_gfs2.h gfs2: Invert the GLF_INITIAL flag 2024-05-29 15:34:55 +02:00
trans.c gfs2: Rename gfs2_withdrawn to gfs2_withdrawing_or_withdrawn 2023-12-20 21:29:40 +01:00
trans.h
util.c gfs2: Revert "Add quota_change type" 2024-06-08 02:35:09 +02:00
util.h gfs2: gfs2_freeze_unlock cleanup 2024-04-29 12:35:15 +02:00
xattr.c gfs2: Improve gfs2_consist_inode() usage 2024-04-09 18:35:57 +02:00
xattr.h