riscv: Fix wrong usage of lm_alias() when splitting a huge linear mapping
[platform/kernel/linux-starfive.git] / io_uring / rw.c
index 8f68d5a..0a0c1c9 100644 (file)
@@ -549,15 +549,19 @@ static inline int io_rw_prep_async(struct io_kiocb *req, int rw)
        struct iovec *iov;
        int ret;
 
+       iorw->bytes_done = 0;
+       iorw->free_iovec = NULL;
+
        /* submission path, ->uring_lock should already be taken */
        ret = io_import_iovec(rw, req, &iov, &iorw->s, 0);
        if (unlikely(ret < 0))
                return ret;
 
-       iorw->bytes_done = 0;
-       iorw->free_iovec = iov;
-       if (iov)
+       if (iov) {
+               iorw->free_iovec = iov;
                req->flags |= REQ_F_NEED_CLEANUP;
+       }
+
        return 0;
 }