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. If nobody objects, I'm adding that pile to #for-next Shortlog: Al Viro (9): close_range(): fix the logics in descriptor table trimming 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 | 291 ++++++++++----------------- 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 | 13 +- 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/fork.c | 32 ++- 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 - 27 files changed, 136 insertions(+), 277 deletions(-)