[git pull] xattr stuff

From: Al Viro
Date: Fri Nov 15 2024 - 10:09:08 EST


The following changes since commit 9852d85ec9d492ebef56dc5f229416c925758edc:

Linux 6.12-rc1 (2024-09-29 15:06:19 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git tags/pull-xattr

for you to fetch changes up to 46a7fcec097da5b3188dce608362fe6bf4ea26ee:

xattr: remove redundant check on variable err (2024-11-06 13:00:01 -0500)

----------------------------------------------------------------
sanitize xattr and io_uring interactions with it,
add *xattrat() syscalls, sanitize struct filename handling in there.

Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

----------------------------------------------------------------
Al Viro (9):
teach filename_lookup() to treat NULL filename as ""
getname_maybe_null() - the third variant of pathname copy-in
io_[gs]etxattr_prep(): just use getname()
xattr: switch to CLASS(fd)
new helper: import_xattr_name()
replace do_setxattr() with saner helpers.
replace do_getxattr() with saner helpers.
new helpers: file_listxattr(), filename_listxattr()
new helpers: file_removexattr(), filename_removexattr()

Christian Göttsche (2):
fs: rename struct xattr_ctx to kernel_xattr_ctx
fs/xattr: add *at family syscalls

Colin Ian King (1):
xattr: remove redundant check on variable err

Jens Axboe (1):
io_uring: IORING_OP_F[GS]ETXATTR is fine with REQ_F_FIXED_FILE

arch/alpha/kernel/syscalls/syscall.tbl | 4 +
arch/arm/tools/syscall.tbl | 4 +
arch/arm64/tools/syscall_32.tbl | 4 +
arch/m68k/kernel/syscalls/syscall.tbl | 4 +
arch/microblaze/kernel/syscalls/syscall.tbl | 4 +
arch/mips/kernel/syscalls/syscall_n32.tbl | 4 +
arch/mips/kernel/syscalls/syscall_n64.tbl | 4 +
arch/mips/kernel/syscalls/syscall_o32.tbl | 4 +
arch/parisc/kernel/syscalls/syscall.tbl | 4 +
arch/powerpc/kernel/syscalls/syscall.tbl | 4 +
arch/s390/kernel/syscalls/syscall.tbl | 4 +
arch/sh/kernel/syscalls/syscall.tbl | 4 +
arch/sparc/kernel/syscalls/syscall.tbl | 4 +
arch/x86/entry/syscalls/syscall_32.tbl | 4 +
arch/x86/entry/syscalls/syscall_64.tbl | 4 +
arch/xtensa/kernel/syscalls/syscall.tbl | 4 +
fs/internal.h | 17 +-
fs/namei.c | 34 ++-
fs/stat.c | 28 +-
fs/xattr.c | 446 ++++++++++++++++++----------
include/asm-generic/audit_change_attr.h | 6 +
include/linux/fs.h | 10 +
include/linux/syscalls.h | 13 +
include/linux/xattr.h | 4 +
include/uapi/asm-generic/unistd.h | 11 +-
include/uapi/linux/xattr.h | 7 +
io_uring/xattr.c | 97 ++----
scripts/syscall.tbl | 4 +
28 files changed, 474 insertions(+), 267 deletions(-)