Changes since v2: Rebased to 6.12-rc2, now that close_range() fix got into mainline. No more than that so far (there will be followup cleanups, but for now I just want it posted and in -next). Changes since v1: close_range() fix added in the beginning of the series, dup_fd() calling convention change folded into it (as requested by Linus), the rest rebased on top of that. sane_fdtable_size() change is dropped, as it's obsoleted by close_range() fix. Several patches added at the end of series. Same branch - git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git #work.fdtable individual patches in followups. Christian, I can move that to vfs/vfs.git if that's more convenient for you - we are about to step on each other's toes with that and your ->f_count work. Shortlog: Al Viro (8): get rid of ...lookup...fdget_rcu() family remove pointless includes of <linux/fdtable.h> close_files(): don't bother with xchg() move close_range(2) into fs/file.c, fold __close_range() into it alloc_fdtable(): change calling conventions. file.c: merge __{set,clear}_close_on_exec() make __set_open_fd() set cloexec state as well expand_files(): simplify calling conventions Yu Ma (3): fs/file.c: remove sanity_check and add likely/unlikely in alloc_fd() fs/file.c: conditionally clear full_fds fs/file.c: add fast path in find_next_fd() Diffstat: arch/powerpc/platforms/cell/spufs/coredump.c | 4 +- fs/fcntl.c | 1 - fs/file.c | 204 ++++++++++----------------- fs/file_table.c | 1 - fs/gfs2/glock.c | 12 +- fs/notify/dnotify/dnotify.c | 5 +- fs/notify/fanotify/fanotify.c | 1 - fs/notify/fanotify/fanotify_user.c | 1 - fs/open.c | 17 --- fs/overlayfs/copy_up.c | 1 - fs/proc/base.c | 1 - fs/proc/fd.c | 12 +- include/linux/fdtable.h | 5 - include/linux/file.h | 1 + io_uring/io_uring.c | 1 - kernel/bpf/bpf_inode_storage.c | 1 - kernel/bpf/bpf_task_storage.c | 1 - kernel/bpf/task_iter.c | 6 +- kernel/bpf/token.c | 1 - kernel/exit.c | 1 - kernel/kcmp.c | 4 +- kernel/module/dups.c | 1 - kernel/module/kmod.c | 1 - kernel/umh.c | 1 - net/handshake/request.c | 1 - security/apparmor/domain.c | 1 - 26 files changed, 88 insertions(+), 198 deletions(-)