io_uring: import_single_range() returns 0/-ERROR
Unlike the other core import helpers, import_single_range() returns 0 on success, not the length imported. This means that links that depend on the result of non-vec based IORING_OP_{READ,WRITE} that were added for 5.5 get errored when they should not be. Fixes: 3a6820f2bb8a ("io_uring: add non-vectored read/write commands") Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
2a44f46781
commit
3a9015988b
@ -2075,7 +2075,7 @@ static ssize_t io_import_iovec(int rw, struct io_kiocb *req,
|
|||||||
ssize_t ret;
|
ssize_t ret;
|
||||||
ret = import_single_range(rw, buf, sqe_len, *iovec, iter);
|
ret = import_single_range(rw, buf, sqe_len, *iovec, iter);
|
||||||
*iovec = NULL;
|
*iovec = NULL;
|
||||||
return ret;
|
return ret < 0 ? ret : sqe_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (req->io) {
|
if (req->io) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user