X-Git-Url: http://git.monstr.eu/?p=linux-2.6-microblaze.git;a=blobdiff_plain;f=fs%2Fio_uring.c;h=855ea544807fe14f01bd361d88cf69335138ea1b;hp=d816c09c88a544a271ba192cf9f143d23577002f;hb=7b7699c09f66f180b9a8a5010df352acb8683bfa;hpb=70868a180501d17fea58153c649d56bc18435315 diff --git a/fs/io_uring.c b/fs/io_uring.c index d816c09c88a5..855ea544807f 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -3480,6 +3480,7 @@ static int io_read(struct io_kiocb *req, unsigned int issue_flags) if (req->flags & REQ_F_NOWAIT) goto done; /* some cases will consume bytes even on error returns */ + iov_iter_reexpand(iter, iter->count + iter->truncated); iov_iter_revert(iter, io_size - iov_iter_count(iter)); ret = 0; } else if (ret == -EIOCBQUEUED) { @@ -3619,6 +3620,7 @@ done: } else { copy_iov: /* some cases will consume bytes even on error returns */ + iov_iter_reexpand(iter, iter->count + iter->truncated); iov_iter_revert(iter, io_size - iov_iter_count(iter)); ret = io_setup_async_rw(req, iovec, inline_vecs, iter, false); return ret ?: -EAGAIN;