From: Al Viro <viro@zeniv.linux.org.uk>
To: linux-fsdevel@vger.kernel.org
Cc: torvalds@linux-foundation.org, brauner@kernel.org, jack@suse.cz,
mjguzik@gmail.com, paul@paul-moore.com, axboe@kernel.dk,
audit@vger.kernel.org, io-uring@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [RFC PATCH 0/8] experimental struct filename followups
Date: Thu, 8 Jan 2026 07:41:53 +0000 [thread overview]
Message-ID: <20260108074201.435280-1-viro@zeniv.linux.org.uk> (raw)
This series switches the filename-consuming primitives to variants
that leave dropping the reference(s) to caller. These days it's
fairly painless, and results look simpler wrt lifetime rules:
* with 3 exceptions, all instances have constructors and destructors
happen in the same scope (via CLASS(filename...), at that)
* CLASS(filename_consume) has no users left, could be dropped.
* exceptions are:
* audit dropping the references it stashed in audit_names
* fsconfig(2) creating and dropping references in two subcommands
* fs_lookup_param() playing silly buggers.
That's it.
If we go that way, this will certainly get reordered back into the main series
and have several commits in there ripped apart and folded into these ones.
E.g. no sense to convert do_renameat2() et.al. to filename_consume, only to
have that followed by the first 6 commits here, etc.
For now I've put those into #experimental.filename, on top of #work.filename.
Comments would be very welcome...
Al Viro (8):
non-consuming variant of do_renameat2()
non-consuming variant of do_linkat()
non-consuming variant of do_symlinkat()
non-consuming variant of do_mkdirat()
non-consuming variant of do_mknodat()
non-consuming variants of do_{unlinkat,rmdir}()
execve: fold {compat_,}do_execve{,at}() into their sole callers
do_execveat_common(): don't consume filename reference
Documentation/filesystems/porting.rst | 8 +++
fs/coredump.c | 3 +-
fs/exec.c | 87 ++++++++-------------------
fs/init.c | 22 ++++---
fs/internal.h | 14 ++---
fs/namei.c | 87 +++++++++++++++------------
io_uring/fs.c | 25 +++++---
7 files changed, 117 insertions(+), 129 deletions(-)
next reply other threads:[~2026-01-08 7:40 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-08 7:41 Al Viro [this message]
2026-01-08 7:41 ` [RFC PATCH 1/8] non-consuming variant of do_renameat2() Al Viro
2026-01-08 7:41 ` [RFC PATCH 2/8] non-consuming variant of do_linkat() Al Viro
2026-01-08 7:41 ` [RFC PATCH 3/8] non-consuming variant of do_symlinkat() Al Viro
2026-01-08 7:41 ` [RFC PATCH 4/8] non-consuming variant of do_mkdirat() Al Viro
2026-01-08 7:41 ` [RFC PATCH 5/8] non-consuming variant of do_mknodat() Al Viro
2026-01-08 7:41 ` [RFC PATCH 6/8] non-consuming variants of do_{unlinkat,rmdir}() Al Viro
2026-01-08 7:42 ` [RFC PATCH 7/8] execve: fold {compat_,}do_execve{,at}() into their sole callers Al Viro
2026-01-08 7:42 ` [RFC PATCH 8/8] do_execveat_common(): don't consume filename reference Al Viro
2026-01-12 10:00 ` [RFC PATCH 0/8] experimental struct filename followups Christian Brauner
2026-01-14 2:15 ` Al Viro
2026-01-14 2:28 ` Al Viro
2026-01-14 16:00 ` Christian Brauner
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=20260108074201.435280-1-viro@zeniv.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=audit@vger.kernel.org \
--cc=axboe@kernel.dk \
--cc=brauner@kernel.org \
--cc=io-uring@vger.kernel.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mjguzik@gmail.com \
--cc=paul@paul-moore.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox