Merge tag 'pull-rename' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Jan 2024 04:00:22 +0000 (20:00 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Jan 2024 04:00:22 +0000 (20:00 -0800)
commitbf4e7080aeed29354cb156a8eb5d221ab2b6a8cc
treee73826bb1b0b9170a3f410ce622bf62774ecdbf1
parent2f444347a8d6b03b4e6a9aeff13d67b8cbbe08ce
parenta8b0026847b8c43445c921ad2c85521c92eb175f
Merge tag 'pull-rename' of git://git./linux/kernel/git/viro/vfs

Pull rename updates from Al Viro:
 "Fix directory locking scheme on rename

  This was broken in 6.5; we really can't lock two unrelated directories
  without holding ->s_vfs_rename_mutex first and in case of same-parent
  rename of a subdirectory 6.5 ends up doing just that"

* tag 'pull-rename' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  rename(): avoid a deadlock in the case of parents having no common ancestor
  kill lock_two_inodes()
  rename(): fix the locking of subdirectories
  f2fs: Avoid reading renamed directory if parent does not change
  ext4: don't access the source subdirectory content on same-directory rename
  ext2: Avoid reading renamed directory if parent does not change
  udf_rename(): only access the child content on cross-directory rename
  ocfs2: Avoid touching renamed directory if parent does not change
  reiserfs: Avoid touching renamed directory if parent does not change
Documentation/filesystems/locking.rst
Documentation/filesystems/porting.rst
fs/ecryptfs/inode.c
fs/inode.c
fs/internal.h
fs/namei.c
fs/nfsd/vfs.c
fs/overlayfs/copy_up.c
fs/overlayfs/super.c
fs/overlayfs/util.c
fs/smb/server/vfs.c