All of lore.kernel.org
 help / color / mirror / Atom feed
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(-)

             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.