]> www.infradead.org Git - users/hch/block.git/commitdiff
use nvme_finish_user_metadata
authorChristoph Hellwig <hch@lst.de>
Fri, 6 May 2022 06:57:25 +0000 (08:57 +0200)
committerChristoph Hellwig <hch@lst.de>
Fri, 6 May 2022 06:58:25 +0000 (08:58 +0200)
drivers/nvme/host/ioctl.c

index 0e05ef556627e723ca109035a0e86b2359f28e16..0fd6850c021375a8af5985eae3c22b9f8702a604 100644 (file)
@@ -375,14 +375,9 @@ static void nvme_uring_task_cb(struct io_uring_cmd *ioucmd)
 
        result = le64_to_cpu(nvme_req(req)->result.u64);
 
-       if (pdu->meta) {
-               bool write = req_op(req) == REQ_OP_DRV_OUT;
-
-               if (!status && !write &&
-                   copy_to_user(pdu->meta_buffer, pdu->meta, pdu->meta_len))
-                       status = -EFAULT;
-               kfree(pdu->meta);
-       }
+       if (pdu->meta)
+               status = nvme_finish_user_metadata(req, pdu->meta_buffer,
+                                       pdu->meta, pdu->meta_len, status);
        if (bio)
                blk_rq_unmap_user(bio);
        blk_mq_free_request(req);