]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
io_uring/zcrx: remove sqe->file_index check
authorPavel Begunkov <asml.silence@gmail.com>
Sun, 20 Apr 2025 09:31:17 +0000 (10:31 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 21 Apr 2025 11:11:40 +0000 (05:11 -0600)
sqe->file_index and sqe->zcrx_ifq_idx are aliased, so even though
io_recvzc_prep() has all necessary handling and checking for
->zcrx_ifq_idx, it's already rejected a couple of lines above.

It's not a real problem, however, as we can only have one ifq at the
moment, which index is always zero, and it returns correct error
codes to the user.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/b51acedd326d1a87bf53e33303e6fc87661a3e3f.1745141261.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/net.c

index 5f1a519d1fc6eec1e450575814537eca4e7eff6f..782f8e76c5c77dfab8f2c7f4a60a811f02ea6b94 100644 (file)
@@ -1185,8 +1185,7 @@ int io_recvzc_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
        struct io_recvzc *zc = io_kiocb_to_cmd(req, struct io_recvzc);
        unsigned ifq_idx;
 
-       if (unlikely(sqe->file_index || sqe->addr2 || sqe->addr ||
-                    sqe->addr3))
+       if (unlikely(sqe->addr2 || sqe->addr || sqe->addr3))
                return -EINVAL;
 
        ifq_idx = READ_ONCE(sqe->zcrx_ifq_idx);