]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
io_uring/net: clean io_msg_copy_hdr()
authorPavel Begunkov <asml.silence@gmail.com>
Tue, 28 Jan 2025 20:56:13 +0000 (20:56 +0000)
committerJens Axboe <axboe@kernel.dk>
Tue, 28 Jan 2025 22:10:40 +0000 (15:10 -0700)
Put msg->msg_iov into a local variable in io_msg_copy_hdr(), it reads
better and clearly shows the used types.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de>
Link: https://lore.kernel.org/r/6a5d4f7a96b10e571d6128be010166b3aaf7afd5.1738087204.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/net.c

index e72205802055f703a4ce7a2c0a6cdca222672293..dedf274fc049ae86c1603f61a5e3b5df164eed2a 100644 (file)
@@ -280,11 +280,12 @@ static int io_msg_copy_hdr(struct io_kiocb *req, struct io_async_msghdr *iomsg,
                        ret = -EINVAL;
                        goto ua_end;
                } else {
+                       struct iovec __user *uiov = msg->msg_iov;
+
                        /* we only need the length for provided buffers */
-                       if (!access_ok(&msg->msg_iov[0].iov_len, sizeof(__kernel_size_t)))
+                       if (!access_ok(&uiov->iov_len, sizeof(uiov->iov_len)))
                                goto ua_end;
-                       unsafe_get_user(iov->iov_len, &msg->msg_iov[0].iov_len,
-                                       ua_end);
+                       unsafe_get_user(iov->iov_len, &uiov->iov_len, ua_end);
                        sr->len = iov->iov_len;
                }
                ret = 0;