public inbox for io-uring@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/8] experimental struct filename followups
@ 2026-01-08  7:41 Al Viro
  2026-01-08  7:41 ` [RFC PATCH 1/8] non-consuming variant of do_renameat2() Al Viro
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Al Viro @ 2026-01-08  7:41 UTC (permalink / raw)
  To: linux-fsdevel
  Cc: torvalds, brauner, jack, mjguzik, paul, axboe, audit, io-uring,
	linux-kernel

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(-)

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-01-14 16:00 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-08  7:41 [RFC PATCH 0/8] experimental struct filename followups Al Viro
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox