From: Al Viro <viro@zeniv.linux.org.uk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-fsdevel@vger.kernel.org
Subject: [git pull] struct filename series
Date: Mon, 9 Feb 2026 04:05:18 +0000 [thread overview]
Message-ID: <20260209040518.GH3183987@ZenIV> (raw)
The following changes since commit 0f61b1860cc3f52aef9036d7235ed1f017632193:
Linux 6.19-rc5 (2026-01-11 17:03:14 -1000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git tags/pull-filename
for you to fetch changes up to 0787a93baa1aab9fd0cb8500105d11d3d3a58f7a:
sysfs(2): fs_index() argument is _not_ a pathname (2026-01-16 12:52:04 -0500)
----------------------------------------------------------------
struct filename series
[mostly] sanitize struct filename hanling
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
----------------------------------------------------------------
Al Viro (67):
init_mknod(): turn into a trivial wrapper for do_mknodat()
init_mkdir(): turn into a trivial wrapper for do_mkdirat()
init_symlink(): turn into a trivial wrapper for do_symlinkat()
init_link(): turn into a trivial wrapper for do_linkat()
allow to use CLASS() for struct filename *
do_faccessat(): import pathname only once
do_fchmodat(): import pathname only once
do_fchownat(): import pathname only once
do_utimes_path(): import pathname only once
chdir(2): import pathname only once
chroot(2): import pathname only once
user_statfs(): import pathname only once
do_sys_truncate(): import pathname only once
do_readlinkat(): import pathname only once
get rid of audit_reusename()
ntfs: ->d_compare() must not block
getname_flags() massage, part 1
getname_flags() massage, part 2
struct filename: use names_cachep only for getname() and friends
struct filename: saner handling of long names
switch __getname_maybe_null() to CLASS(filename_flags)
allow incomplete imports of filenames
struct filename ->refcnt doesn't need to be atomic
file_getattr(): filename_lookup() accepts ERR_PTR() as filename
file_setattr(): filename_lookup() accepts ERR_PTR() as filename
move_mount(): filename_lookup() accepts ERR_PTR() as filename
ksmbd_vfs_path_lookup(): vfs_path_parent_lookup() accepts ERR_PTR() as name
ksmbd_vfs_rename(): vfs_path_parent_lookup() accepts ERR_PTR() as name
do_filp_open(): DTRT when getting ERR_PTR() as pathname
rename do_filp_open() to do_file_open()
do_sys_openat2(): get rid of useless check, switch to CLASS(filename)
simplify the callers of file_open_name()
simplify the callers of do_open_execat()
simplify the callers of alloc_bprm()
execve: fold {compat_,}do_execve{,at}() into their sole callers
do_execveat_common(): don't consume filename reference
switch {alloc,free}_bprm() to CLASS()
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}()
filename_...xattr(): don't consume filename reference
file_[gs]etattr(2): switch to CLASS(filename_maybe_null)
mount_setattr(2): don't mess with LOOKUP_EMPTY
do_open_execat(): don't care about LOOKUP_EMPTY
vfs_open_tree(): use CLASS(filename_uflags)
name_to_handle_at(): use CLASS(filename_uflags)
fspick(2): use CLASS(filename_flags)
do_fchownat(): unspaghettify a bit...
chdir(2): unspaghettify a bit...
do_utimes_path(): switch to CLASS(filename_uflags)
do_sys_truncate(): switch to CLASS(filename)
do_readlinkat(): switch to CLASS(filename_flags)
do_f{chmod,chown,access}at(): use CLASS(filename_uflags)
namei.c: convert getname_kernel() callers to CLASS(filename_kernel)
namei.c: switch user pathname imports to CLASS(filename{,_flags})
move_mount(2): switch to CLASS(filename_maybe_null)
chroot(2): switch to CLASS(filename)
quotactl_block(): switch to CLASS(filename)
statx: switch to CLASS(filename_maybe_null)
user_statfs(): switch to CLASS(filename)
mqueue: switch to CLASS(filename)
ksmbd: use CLASS(filename_kernel)
alpha: switch osf_mount() to strndup_user()
sysfs(2): fs_index() argument is _not_ a pathname
Mateusz Guzik (1):
fs: hide names_cache behind runtime const machinery
Documentation/filesystems/porting.rst | 11 +
arch/alpha/kernel/osf_sys.c | 34 +--
fs/coredump.c | 3 +-
fs/dcache.c | 8 +-
fs/exec.c | 178 +++++---------
fs/fhandle.c | 5 +-
fs/file_attr.c | 12 +-
fs/filesystems.c | 9 +-
fs/fsopen.c | 6 +-
fs/init.c | 98 ++------
fs/internal.h | 17 +-
fs/namei.c | 420 ++++++++++++++++++----------------
fs/namespace.c | 22 +-
fs/ntfs3/dir.c | 5 +-
fs/ntfs3/fsntfs.c | 4 +-
fs/ntfs3/inode.c | 13 +-
fs/ntfs3/namei.c | 17 +-
fs/ntfs3/xattr.c | 5 +-
fs/open.c | 119 ++++------
fs/quota/quota.c | 3 +-
fs/smb/server/vfs.c | 15 +-
fs/stat.c | 28 +--
fs/statfs.c | 3 +-
fs/utimes.c | 8 +-
fs/xattr.c | 33 +--
include/asm-generic/vmlinux.lds.h | 3 +-
include/linux/audit.h | 11 -
include/linux/fs.h | 41 ++--
io_uring/fs.c | 106 +++++----
io_uring/openclose.c | 26 +--
io_uring/statx.c | 17 +-
io_uring/xattr.c | 30 +--
ipc/mqueue.c | 11 +-
kernel/acct.c | 4 +-
kernel/auditsc.c | 29 +--
mm/huge_memory.c | 15 +-
mm/swapfile.c | 21 +-
37 files changed, 563 insertions(+), 827 deletions(-)
next reply other threads:[~2026-02-09 4:03 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-09 4:05 Al Viro [this message]
2026-02-10 2:43 ` [git pull] struct filename series 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=20260209040518.GH3183987@ZenIV \
--to=viro@zeniv.linux.org.uk \
--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.