aboutsummaryrefslogtreecommitdiffstats
path: root/io_uring
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2024-03-07 13:19:46 -0700
committerJens Axboe <axboe@kernel.dk>2024-03-07 13:22:05 -0700
commitb5311dbc2c2eefac00f12888dcd15e90238d1828 (patch)
treef8046e586c8d25aaaaf4fb701910cda34be1f9e2 /io_uring
parent1a8ec63b2b6c91caec87d4e132b1f71b5df342be (diff)
downloadlinux-b5311dbc2c2eefac00f12888dcd15e90238d1828.tar.gz
io_uring/net: clear REQ_F_BL_EMPTY in the multishot retry handler
This flag should not be persistent across retries, so ensure we clear it before potentially attemting a retry. Fixes: c3f9109dbc9e ("io_uring/kbuf: flag request if buffer pool is empty after buffer pick") Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring')
-rw-r--r--io_uring/net.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/io_uring/net.c b/io_uring/net.c
index 1640e985cd087f..e50947e7cd5764 100644
--- a/io_uring/net.c
+++ b/io_uring/net.c
@@ -676,6 +676,7 @@ static inline void io_recv_prep_retry(struct io_kiocb *req)
{
struct io_sr_msg *sr = io_kiocb_to_cmd(req, struct io_sr_msg);
+ req->flags &= ~REQ_F_BL_EMPTY;
sr->done_io = 0;
sr->len = 0; /* get from the provided buffer */
req->buf_index = sr->buf_group;