summaryrefslogtreecommitdiff
path: root/io_uring/cmd_net.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2025-08-07 14:24:18 -0600
committerJens Axboe <axboe@kernel.dk>2025-08-27 11:24:15 -0600
commit1e81bf1414127bfeab0a0bcd9f39f42ccb96b6b9 (patch)
treeb1f9bbee5415ca21998bcfd5fe0c6bb71948da32 /io_uring/cmd_net.c
parent806ecb209aa86fcc1d92bc9f10323cf773f64d6d (diff)
io_uring/uring_cmd: add support for IORING_SETUP_CQE_MIXED
Certain users of uring_cmd currently require fixed 32b CQE support, which is propagated through IO_URING_F_CQE32. Allow IORING_SETUP_CQE_MIXED to cover that case as well, so not all CQEs posted need to be 32b in size. Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/cmd_net.c')
-rw-r--r--io_uring/cmd_net.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/io_uring/cmd_net.c b/io_uring/cmd_net.c
index 3866fe6ff541..27a09aa4c9d0 100644
--- a/io_uring/cmd_net.c
+++ b/io_uring/cmd_net.c
@@ -4,6 +4,7 @@
#include <net/sock.h>
#include "uring_cmd.h"
+#include "io_uring.h"
static inline int io_uring_cmd_getsockopt(struct socket *sock,
struct io_uring_cmd *cmd,
@@ -73,7 +74,7 @@ static bool io_process_timestamp_skb(struct io_uring_cmd *cmd, struct sock *sk,
cqe->user_data = 0;
cqe->res = tskey;
- cqe->flags = IORING_CQE_F_MORE;
+ cqe->flags = IORING_CQE_F_MORE | ctx_cqe32_flags(cmd_to_io_kiocb(cmd)->ctx);
cqe->flags |= tstype << IORING_TIMESTAMP_TYPE_SHIFT;
if (ret == SOF_TIMESTAMPING_TX_HARDWARE)
cqe->flags |= IORING_CQE_F_TSTAMP_HW;