Skip to content

Commit d58d82b

Browse files
committed
io_uring/uring_cmd: use cached cmd_op in io_uring_cmd_sock()
io_uring_cmd_sock() does a normal read of cmd->sqe->cmd_op, where it really should be using a READ_ONCE() as ->sqe may still be pointing to the original SQE. Since the prep side already does this READ_ONCE() and stores it locally, use that value rather than re-read it. Fixes: 8e9fad0 ("io_uring: Add io_uring command support for sockets") Link: https://lore.kernel.org/r/20250121-uring-sockcmd-fix-v1-1-add742802a29@google.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent 69a62e0 commit d58d82b

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

io_uring/uring_cmd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ int io_uring_cmd_sock(struct io_uring_cmd *cmd, unsigned int issue_flags)
350350
if (!prot || !prot->ioctl)
351351
return -EOPNOTSUPP;
352352

353-
switch (cmd->sqe->cmd_op) {
353+
switch (cmd->cmd_op) {
354354
case SOCKET_URING_OP_SIOCINQ:
355355
ret = prot->ioctl(sk, SIOCINQ, &arg);
356356
if (ret)

0 commit comments

Comments
 (0)