]> Git Repo - J-linux.git/commitdiff
io_uring/net: ensure expanded bundle recv gets marked for cleanup
authorJens Axboe <[email protected]>
Wed, 7 Aug 2024 21:06:45 +0000 (15:06 -0600)
committerJens Axboe <[email protected]>
Wed, 7 Aug 2024 21:06:45 +0000 (15:06 -0600)
If the iovec inside the kmsg isn't already allocated AND one gets
expanded beyond the fixed size, then the request may not already have
been marked for cleanup. Ensure that it is.

Cc: [email protected]
Fixes: 2f9c9515bdfd ("io_uring/net: support bundles for recv")
Signed-off-by: Jens Axboe <[email protected]>
io_uring/net.c

index 594490a1389ba25e7ecc2b092298e4de70f247da..97a48408cec39b2e821fd051fb28ba67e5e7fc6f 100644 (file)
@@ -1094,6 +1094,7 @@ static int io_recv_buf_select(struct io_kiocb *req, struct io_async_msghdr *kmsg
                if (arg.iovs != &kmsg->fast_iov && arg.iovs != kmsg->free_iov) {
                        kmsg->free_iov_nr = ret;
                        kmsg->free_iov = arg.iovs;
+                       req->flags |= REQ_F_NEED_CLEANUP;
                }
        } else {
                void __user *buf;
This page took 0.046852 seconds and 4 git commands to generate.