Hey Linus, /* Summary */ This contains the usual miscellaneous features, cleanups, and fixes for vfs and individual fses. The vfs.file branch merged into here has also been merged into io_uring which depends on it. Features ======== * Add Jan Kara as VFS reviewer. * Show correct device and inode numbers in proc/<pid>/maps for vma files on stacked filesystems. This is now easily doable thanks to the backing file work from the last cycles. This comes with selftests. Cleanups ======== * Remove a redundant might_sleep() from wait_on_inode(). * Initialize pointer with NULL, not 0. * Clarify comment on access_override_creds(). * Rework and simplify eventfd_signal() and eventfd_signal_mask() helpers. * Process aio completions in batches to avoid needless wakeups. * Completely decouple struct mnt_idmap from namespaces. We now only keep the actual idmapping around and don't stash references to namespaces. * Reformat maintainer entries to indicate that a given subsystem belongs to fs/. * Simplify fput() for files that were never opened. * Get rid of various pointless file helpers. * Rename various file helpers. * Rename struct file members after SLAB_TYPESAFE_BY_RCU switch from last cycle. * Make relatime_need_update() return bool. * Use GFP_KERNEL instead of GFP_USER when allocating superblocks. * Replace deprecated ida_simple_*() calls with their current ida_*() counterparts. Fixes ===== * Fix comments on user namespace id mapping helpers. They aren't kernel doc comments so they shouldn't be using /**. * s/Retuns/Returns/g in various places. * Add missing parameter documentation on can_move_mount_beneath(). * Rename i_mapping->private_data to i_mapping->i_private_data. * Fix a false-positive lockdep warning in pipe_write() for watch queues. * Improve __fget_files_rcu() code generation to improve performance. * Only notify writer that pipe resizing has finished after setting pipe->max_usage otherwise writers are never notified that the pipe has been resized and hang. * Fix some kernel docs in hfsplus. * s/passs/pass/g in various places. * Fix kernel docs in ntfs. * Fix kcalloc() arguments order reported by gcc 14. * Fix uninitialized value in reiserfs. /* Testing */ clang: Debian clang version 16.0.6 (19) gcc: (Debian 13.2.0-7) 13.2.0 All patches are based on v6.7-rc1 and have been sitting in linux-next. No build failures or warnings were observed. /* Conflicts */ Merge conflicts with other trees ================================ [1] linux-next: manual merge of the vfs-brauner tree with the mm tree https://lore.kernel.org/linux-next/20231122103119.34d23955@xxxxxxxxxxxxxxxx [2] linux-next: manual merge of the vfs-brauner tree with the btrfs tree https://lore.kernel.org/linux-next/20231127091437.4062f96c@xxxxxxxxxxxxxxxx The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86: Linux 6.7-rc1 (2023-11-12 16:19:07 -0800) are available in the Git repository at: git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.8.misc for you to fetch changes up to dd8f87f21dc3da2eaf46e7401173f935b90b13a8: reiserfs: fix uninit-value in comp_keys (2023-12-28 11:56:52 +0100) Please consider pulling these changes from the signed vfs-6.8.misc tag. Happy New Year! Christian ---------------------------------------------------------------- vfs-6.8.misc ---------------------------------------------------------------- Abhinav Singh (1): fs : Fix warning using plain integer as NULL Al Viro (1): file: massage cleanup of files that failed to open Alexander Mikhalitsyn (2): fs: super: use GFP_KERNEL instead of GFP_USER for super block allocation fs: fix doc comment typo fs tree wide Andrei Vagin (2): fs/proc: show correct device and inode numbers in /proc/pid/maps selftests/overlayfs: verify device and inode numbers in /proc/pid/maps Bagas Sanjaya (1): fs: Clarify "non-RCY" in access_override_creds() comment Christian Brauner (16): fs: add missing @mp parameter documentation i915: make inject_virtual_interrupt() void eventfd: simplify eventfd_signal() eventfd: simplify eventfd_signal_mask() eventfd: make eventfd_signal{_mask}() void mnt_idmapping: remove check_fsmapping() mnt_idmapping: remove nop check mnt_idmapping: decouple from namespaces fs: reformat idmapped mounts entry file: s/close_fd_get_file()/file_close_fd()/g file: remove pointless wrapper fs: replace f_rcuhead with f_task_work file: stop exposing receive_fd_user() file: remove __receive_fd() fs: add Jan Kara as reviewer Merge branch 'vfs.file' Christophe JAILLET (1): eventfd: Remove usage of the deprecated ida_simple_xx() API Dmitry Antipov (1): watch_queue: fix kcalloc() arguments order Edward Adam Davis (1): reiserfs: fix uninit-value in comp_keys Hao Ge (1): fs/inode: Make relatime_need_update return bool Jann Horn (1): fs/pipe: Fix lockdep false-positive in watchqueue pipe_write() Kent Overstreet (1): fs/aio: obey min_nr when doing wakeups Linus Torvalds (1): Improve __fget_files_rcu() code generation (and thus __fget_light()) Lukas Schauer (1): pipe: wakeup wr_wait after setting max_usage Mateusz Guzik (1): vfs: remove a redundant might_sleep in wait_on_inode Matthew Wilcox (Oracle) (1): fs: Rename mapping private members Randy Dunlap (3): userns: eliminate many kernel-doc warnings fs/hfsplus: wrapper.c: fix kernel-doc warnings ntfs: dir.c: fix kernel-doc function parameter warnings YangXin (1): fs: namei: Fix spelling mistake "Retuns" to "Returns" MAINTAINERS | 21 +-- arch/x86/kvm/hyperv.c | 2 +- arch/x86/kvm/xen.c | 2 +- drivers/accel/habanalabs/common/device.c | 2 +- drivers/android/binder.c | 2 +- drivers/fpga/dfl.c | 2 +- drivers/gpu/drm/drm_syncobj.c | 6 +- drivers/gpu/drm/i915/gvt/interrupt.c | 13 +- drivers/infiniband/hw/mlx5/devx.c | 2 +- drivers/misc/ocxl/file.c | 2 +- drivers/s390/cio/vfio_ccw_chp.c | 2 +- drivers/s390/cio/vfio_ccw_drv.c | 4 +- drivers/s390/cio/vfio_ccw_ops.c | 6 +- drivers/s390/crypto/vfio_ap_ops.c | 2 +- drivers/usb/gadget/function/f_fs.c | 4 +- drivers/vdpa/vdpa_user/vduse_dev.c | 8 +- drivers/vfio/fsl-mc/vfio_fsl_mc_intr.c | 2 +- drivers/vfio/pci/vfio_pci_core.c | 6 +- drivers/vfio/pci/vfio_pci_intrs.c | 12 +- drivers/vfio/platform/vfio_platform_irq.c | 4 +- drivers/vhost/vdpa.c | 4 +- drivers/vhost/vhost.c | 10 +- drivers/vhost/vhost.h | 2 +- drivers/virt/acrn/ioeventfd.c | 2 +- drivers/xen/privcmd.c | 2 +- fs/aio.c | 85 +++++++--- fs/attr.c | 2 +- fs/btrfs/extent_io.c | 52 +++--- fs/btrfs/subpage.c | 4 +- fs/buffer.c | 108 ++++++------ fs/dax.c | 2 +- fs/direct-io.c | 2 +- fs/eventfd.c | 46 ++---- fs/ext4/inode.c | 4 +- fs/file.c | 97 ++++++----- fs/file_table.c | 22 +-- fs/gfs2/glock.c | 2 +- fs/gfs2/ops_fstype.c | 2 +- fs/hfsplus/wrapper.c | 5 +- fs/hugetlbfs/inode.c | 4 +- fs/inode.c | 22 +-- fs/internal.h | 3 +- fs/mnt_idmapping.c | 159 +++++++++++------- fs/namei.c | 31 ++-- fs/namespace.c | 3 +- fs/nfs/write.c | 12 +- fs/nilfs2/inode.c | 4 +- fs/ntfs/aops.c | 10 +- fs/ntfs/dir.c | 3 +- fs/open.c | 5 +- fs/pipe.c | 24 ++- fs/posix_acl.c | 4 +- fs/proc/task_mmu.c | 3 +- fs/reiserfs/stree.c | 2 +- fs/stat.c | 2 +- fs/super.c | 2 +- include/linux/eventfd.h | 17 +- include/linux/fdtable.h | 19 ++- include/linux/file.h | 12 +- include/linux/fs.h | 34 ++-- include/linux/mnt_idmapping.h | 3 - include/linux/uidgid.h | 13 ++ include/linux/writeback.h | 1 - include/net/scm.h | 9 + io_uring/io_uring.c | 4 +- io_uring/openclose.c | 2 +- kernel/pid.c | 2 +- kernel/seccomp.c | 2 +- kernel/user_namespace.c | 20 +-- kernel/watch_queue.c | 2 +- mm/hugetlb.c | 2 +- mm/memcontrol.c | 10 +- mm/migrate.c | 6 +- mm/vmpressure.c | 2 +- net/compat.c | 2 +- net/core/scm.c | 2 +- samples/vfio-mdev/mtty.c | 4 +- tools/testing/selftests/Makefile | 1 + .../selftests/filesystems/overlayfs/.gitignore | 2 + .../selftests/filesystems/overlayfs/Makefile | 7 + .../selftests/filesystems/overlayfs/dev_in_maps.c | 182 +++++++++++++++++++++ .../testing/selftests/filesystems/overlayfs/log.h | 26 +++ virt/kvm/eventfd.c | 4 +- 83 files changed, 784 insertions(+), 456 deletions(-) create mode 100644 tools/testing/selftests/filesystems/overlayfs/.gitignore create mode 100644 tools/testing/selftests/filesystems/overlayfs/Makefile create mode 100644 tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c create mode 100644 tools/testing/selftests/filesystems/overlayfs/log.h