mbox series

[GIT,PULL] io_uring support for get/setsockopt

Message ID 7a0893f0-bae8-4aee-9e05-7c81354fc829@kernel.dk (mailing list archive)
State New
Headers show
Series [GIT,PULL] io_uring support for get/setsockopt | expand

Pull-request

git://git.kernel.dk/linux.git tags/for-6.7/io_uring-sockopt-2023-10-30

Message

Jens Axboe Oct. 30, 2023, 2:36 p.m. UTC
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

Comments

pr-tracker-bot@kernel.org Nov. 1, 2023, 10:47 p.m. UTC | #1
The pull request you sent on Mon, 30 Oct 2023 08:36:04 -0600:

> git://git.kernel.dk/linux.git tags/for-6.7/io_uring-sockopt-2023-10-30

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/f5277ad1e9768dbd05b1ae8dcdba690215d8c5b7

Thank you!
patchwork-bot+netdevbpf@kernel.org Nov. 2, 2023, 5:01 a.m. UTC | #2
Hello:

This pull request was applied to netdev/net.git (main)
by Linus Torvalds <torvalds@linux-foundation.org>:

On Mon, 30 Oct 2023 08:36:04 -0600 you wrote:
> 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.
> 
> [...]

Here is the summary with links:
  - [GIT,PULL] io_uring support for get/setsockopt
    https://git.kernel.org/netdev/net/c/f5277ad1e976

You are awesome, thank you!