From: Al Viro <viro@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-fsdevel@vger.kernel.org
Subject: [git pull] rcu pathwalk fixes
Date: Sun, 25 Feb 2024 02:16:46 -0500 [thread overview]
Message-ID: <ZdrpXmWQYzExV5m3@duke.home> (raw)
[as posted on Feb 4, with accumulated acked-by/reviewed-by added; the original
branch is also tagged (pull-fixes.pathwalk-rcu), the only difference is in the
added lines in commit messages and resulting update of commit dates]
The following changes since commit 6613476e225e090cc9aad49be7fa504e290dd33d:
Linux 6.8-rc1 (2024-01-21 14:11:32 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git tags/pull-fixes.pathwalk-rcu-2
for you to fetch changes up to 9fa8e282c2bfe93338e81a620a49f5903a745231:
ext4_get_link(): fix breakage in RCU mode (2024-02-25 02:10:32 -0500)
----------------------------------------------------------------
We still have some races in filesystem methods when exposed to RCU
pathwalk. This series is a result of code audit (the second round
of it) and it should deal with most of that stuff. Exceptions: ntfs3
->d_hash()/->d_compare() and ceph_d_revalidate(). Up to maintainers (a
note for NTFS folks - when documentation says that a method may not block,
it *does* imply that blocking allocations are to be avoided. Really).
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
----------------------------------------------------------------
Al Viro (13):
fs/super.c: don't drop ->s_user_ns until we free struct super_block itself
rcu pathwalk: prevent bogus hard errors from may_lookup()
affs: free affs_sb_info with kfree_rcu()
exfat: move freeing sbi, upcase table and dropping nls into rcu-delayed helper
hfsplus: switch to rcu-delayed unloading of nls and freeing ->s_fs_info
afs: fix __afs_break_callback() / afs_drop_open_mmap() race
nfs: make nfs_set_verifier() safe for use in RCU pathwalk
nfs: fix UAF on pathwalk running into umount
procfs: move dropping pde and pid from ->evict_inode() to ->free_inode()
procfs: make freeing proc_fs_info rcu-delayed
fuse: fix UAF in rcu pathwalks
cifs_get_link(): bail out in unsafe case
ext4_get_link(): fix breakage in RCU mode
fs/affs/affs.h | 1 +
fs/affs/super.c | 2 +-
fs/afs/file.c | 8 ++++++--
fs/exfat/exfat_fs.h | 1 +
fs/exfat/nls.c | 14 ++++----------
fs/exfat/super.c | 20 +++++++++++---------
fs/ext4/symlink.c | 8 +++++---
fs/fuse/cuse.c | 3 +--
fs/fuse/fuse_i.h | 1 +
fs/fuse/inode.c | 15 +++++++++++----
fs/hfsplus/hfsplus_fs.h | 1 +
fs/hfsplus/super.c | 12 +++++++++---
fs/namei.c | 6 +++++-
fs/nfs/client.c | 13 ++++++++++---
fs/nfs/dir.c | 4 ++--
fs/proc/base.c | 2 --
fs/proc/inode.c | 19 ++++++++-----------
fs/proc/root.c | 2 +-
fs/smb/client/cifsfs.c | 3 +++
fs/super.c | 13 ++++---------
include/linux/nfs_fs_sb.h | 2 ++
include/linux/proc_fs.h | 1 +
22 files changed, 88 insertions(+), 63 deletions(-)
next reply other threads:[~2024-02-25 7:15 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-25 7:16 Al Viro [this message]
2024-02-25 17:58 ` [git pull] rcu pathwalk fixes pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZdrpXmWQYzExV5m3@duke.home \
--to=viro@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.