This series adds support for applications doing async accept() through io_uring. Patch 1 is just a prep patch, adding support for inheriting a process file table for commands. Patch 2 abstracts out __sys_accept4_file(), which is the same as __sys_accept4(), except it takes a struct file and extra file flags. Should not have any functional changes. And finally patch 3 adds support for IORING_OP_ACCEPT. sqe->fd is the file descriptor, sqe->addr holds a pointer to struct sockaddr, sqe->addr2 holds a pointer to socklen_t, and finally sqe->accept_flags holds the flags for accept(4). The series is against my for-5.5/io_uring tree, and also exists as a for-5.5/io_uring-test branch. I've got a test case for this that I haven't pushed to liburing yet, will do so shortly. fs/io_uring.c | 56 ++++++++++++++++++++++++++++-- include/linux/socket.h | 3 ++ include/uapi/linux/io_uring.h | 7 +++- net/socket.c | 65 ++++++++++++++++++++++------------- 4 files changed, 103 insertions(+), 28 deletions(-) -- Jens Axboe