Implement an old idea allowing open/accept io_uring requests to register a newly created file as a io_uring's fixed file instead of placing it into a task's file table. The switching is encoded in io_uring's SQEs by setting sqe->buf_index/file_index, so restricted to 2^16-1. Don't think we need more, but may be a good idea to scrap u32 somewhere instead. >From the net side only needs a function doing __sys_accept4_file() but not installing fd, see 2/4. Only RFC for now, the new functionality is tested only for open yet. I hope we can remember the author of the idea to add attribution. Pavel Begunkov (4): io_uring: allow open directly into fixed fd table net: add an accept helper not installing fd io_uring: hand code io_accept()' fd installing io_uring: accept directly into fixed file table fs/io_uring.c | 113 +++++++++++++++++++++++++++++----- include/linux/socket.h | 3 + include/uapi/linux/io_uring.h | 2 + net/socket.c | 71 +++++++++++---------- 4 files changed, 138 insertions(+), 51 deletions(-) -- 2.32.0