diff --git a/io_uring/kbuf.c b/io_uring/kbuf.c index c9641b6ccc8f..abf44f5dba26 100644 --- a/io_uring/kbuf.c +++ b/io_uring/kbuf.c @@ -326,8 +326,10 @@ static int io_ring_buffers_peek(struct io_kiocb *req, struct buf_sel_arg *arg, arg->out_len += len; arg->max_len -= len; - if (!arg->max_len) + if (!arg->max_len) { + head++; break; + } buf = io_ring_head_to_buf(br, ++head, bl->mask); } while (--nr_iovs);