Hi Linus, On top of the core io_uring changes, this pull request adds support for using getsockopt and setsockopt via io_uring. The main use cases for this is to enable use of direct descriptors, rather than first instantiating a normal file descriptor, doing the option tweaking needed, then turning it into a direct descriptor. With this support, we can avoid needing a regular file descriptor completely. The net and bpf bits have been signed off on their side. Please pull! The following changes since commit 6ce4a93dbb5bd93bc2bdf14da63f9360a4dcd6a1: io_uring/poll: use IOU_F_TWQ_LAZY_WAKE for wakeups (2023-10-19 06:42:29 -0600) are available in the Git repository at: git://git.kernel.dk/linux.git tags/for-6.7/io_uring-sockopt-2023-10-30 for you to fetch changes up to b9ec913212e6e91efa5a0a612c4a8ec4cf5da896: selftests/bpf/sockopt: Add io_uring support (2023-10-19 16:42:04 -0600) ---------------------------------------------------------------- for-6.7/io_uring-sockopt-2023-10-30 ---------------------------------------------------------------- Breno Leitao (11): bpf: Add sockptr support for getsockopt bpf: Add sockptr support for setsockopt net/socket: Break down __sys_setsockopt net/socket: Break down __sys_getsockopt io_uring/cmd: Pass compat mode in issue_flags tools headers: Grab copy of io_uring.h selftests/net: Extract uring helpers to be reusable io_uring/cmd: return -EOPNOTSUPP if net is disabled io_uring/cmd: Introduce SOCKET_URING_OP_GETSOCKOPT io_uring/cmd: Introduce SOCKET_URING_OP_SETSOCKOPT selftests/bpf/sockopt: Add io_uring support include/linux/bpf-cgroup.h | 9 +- include/linux/io_uring.h | 1 + include/net/sock.h | 6 +- include/uapi/linux/io_uring.h | 8 + io_uring/uring_cmd.c | 53 ++ kernel/bpf/cgroup.c | 25 +- net/core/sock.c | 8 - net/socket.c | 104 ++- tools/include/io_uring/mini_liburing.h | 282 ++++++++ tools/include/uapi/linux/io_uring.h | 757 +++++++++++++++++++++ tools/testing/selftests/bpf/prog_tests/sockopt.c | 113 ++- tools/testing/selftests/net/Makefile | 1 + tools/testing/selftests/net/io_uring_zerocopy_tx.c | 268 +------- 13 files changed, 1301 insertions(+), 334 deletions(-) create mode 100644 tools/include/io_uring/mini_liburing.h create mode 100644 tools/include/uapi/linux/io_uring.h -- Jens Axboe