[RFC PATCH 4/4] io_uring: let io_uring_cmd_getsockopt() allow level other than SOL_SOCKET
Stefan Metzmacher <[email protected]> Mon, 31 Mar 2025 22:10:56 +0200
| Newsgroups | gmane.linux.drivers.rdma,gmane.linux.network,gmane.linux.kernel,gmane.linux.hams,gmane.linux.bluez.kernel,gmane.linux.can,gmane.network.tipc.general,gmane.linux.x25,gmane.linux.kernel.bpf,gmane.linux.isdn.i4l.user,gmane.linux.kernel.io-uring |
|---|---|
| Message-ID | <330de91a48996e6dc5cdc844b74fb17fb933326c.1743449872.git.metze@samba.org> |
do_sock_getsockopt() works with a kernel pointer for optlen now. Link: https://lore.kernel.org/io-uring/86b1dce5-4bb4-4a0b-9cff-e72f488bf57d-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org/T/#t Cc: Jens Axboe <axboe-tSWWG44O7X1aa/[email protected]> Cc: Pavel Begunkov <[email protected]> Cc: Breno Leitao <[email protected]> Cc: Linus Torvalds <torvalds-de/[email protected]> Cc: Jakub Kicinski <[email protected]> Cc: Christoph Hellwig <[email protected]> Cc: Karsten Keil <[email protected]> Cc: Ayush Sawal <[email protected]> Cc: Andrew Lunn <[email protected]> Cc: "David S. Miller" <davem-fT/PcQaiUtIeIZ0/[email protected]> Cc: Eric Dumazet <[email protected]> Cc: Paolo Abeni <[email protected]> Cc: Simon Horman <[email protected]> Cc: Kuniyuki Iwashima <[email protected]> Cc: Willem de Bruijn <[email protected]> Cc: David Ahern <[email protected]> Cc: Marcelo Ricardo Leitner <[email protected]> Cc: Xin Long <[email protected]> Cc: Neal Cardwell <[email protected]> Cc: Joerg Reuter <[email protected]> Cc: Marcel Holtmann <[email protected]> Cc: Johan Hedberg <[email protected]> Cc: Luiz Augusto von Dentz <[email protected]> Cc: Oliver Hartkopp <[email protected]> Cc: Marc Kleine-Budde <[email protected]> Cc: Robin van der Gracht <robin-/Q/[email protected]> Cc: Oleksij Rempel <[email protected]> Cc: [email protected] Cc: Alexander Aring <[email protected]> Cc: Stefan Schmidt <[email protected]> Cc: Miquel Raynal <[email protected]> Cc: Alexandra Winter <[email protected]> Cc: Thorsten Winkler <[email protected]> Cc: James Chapman <[email protected]> Cc: Jeremy Kerr <[email protected]> Cc: Matt Johnston <[email protected]> Cc: Matthieu Baerts <[email protected]> Cc: Mat Martineau <[email protected]> Cc: Geliang Tang <[email protected]> Cc: Krzysztof Kozlowski <[email protected]> Cc: Remi Denis-Courmont <[email protected]> Cc: Allison Henderson <[email protected]> Cc: David Howells <[email protected]> Cc: Marc Dionne <marc.dionne-hRzEac23uH1Wk0Htik3J/[email protected]> Cc: Wenjia Zhang <[email protected]> Cc: Jan Karcher <[email protected]> Cc: "D. Wythe" <alibuda-KPsoFbNs7GizrGE5bRqYAgC/[email protected]> Cc: Tony Lu <tonylu-KPsoFbNs7GizrGE5bRqYAgC/[email protected]> Cc: Wen Gu <guwen-KPsoFbNs7GizrGE5bRqYAgC/[email protected]> Cc: Jon Maloy <[email protected]> Cc: Boris Pismenny <[email protected]> Cc: John Fastabend <[email protected]> Cc: Stefano Garzarella <[email protected]> Cc: Martin Schiller <[email protected]> Cc: "Björn Töpel" <[email protected]> Cc: Magnus Karlsson <[email protected]> Cc: Maciej Fijalkowski <[email protected]> Cc: Jonathan Lemon <[email protected]> Cc: Alexei Starovoitov <[email protected]> Cc: Daniel Borkmann <[email protected]> Cc: Jesper Dangaard Brouer <[email protected]> CC: Stefan Metzmacher <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: mptcp-cunTk1MwBs/[email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: tipc-discussion-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Cc: virtualization-cunTk1MwBs/[email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Signed-off-by: Stefan Metzmacher <[email protected]> --- io_uring/uring_cmd.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/io_uring/uring_cmd.c b/io_uring/uring_cmd.c index f2cfc371f3d0..8b0cc919a60c 100644 --- a/io_uring/uring_cmd.c +++ b/io_uring/uring_cmd.c @@ -312,9 +312,6 @@ static inline int io_uring_cmd_getsockopt(struct socket *sock, void __user *optval; level = READ_ONCE(cmd->sqe->level); - if (level != SOL_SOCKET) - return -EOPNOTSUPP; - optval = u64_to_user_ptr(READ_ONCE(cmd->sqe->optval)); optname = READ_ONCE(cmd->sqe->optname); optlen = READ_ONCE(cmd->sqe->optlen); -- 2.34.1