]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
nvme: fix implicit bool to flags conversion
authorPavel Begunkov <asml.silence@gmail.com>
Tue, 20 May 2025 15:14:49 +0000 (16:14 +0100)
committerChristoph Hellwig <hch@lst.de>
Wed, 4 Jun 2025 07:51:10 +0000 (09:51 +0200)
nvme_map_user_request() takes flags as the last argument, but
nvme_uring_cmd_io() shoves a bool "vec" into it. It behaves as
expected because bool is converted to 0/1 and NVME_IOCTL_VEC is
defined as 1, but it's better to pass flags explicitly.

Fixes: 7b7fdb8e2dbc1 ("nvme: replace the "bool vec" arguments with flags in the ioctl path")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Anuj Gupta <anuj20.g@samsung.com>
Reviewed-by: Kanchan Joshi <joshi.k@samsung.com>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Caleb Sander Mateos <csander@purestorage.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/ioctl.c

index ca86d3bf7ea49d0ec812640a6c0267a5aad40b79..f29107d95ff26d5bd961c97868df5ed47c21aa42 100644 (file)
@@ -521,7 +521,7 @@ static int nvme_uring_cmd_io(struct nvme_ctrl *ctrl, struct nvme_ns *ns,
        if (d.data_len) {
                ret = nvme_map_user_request(req, d.addr, d.data_len,
                        nvme_to_user_ptr(d.metadata), d.metadata_len,
-                       map_iter, vec);
+                       map_iter, vec ? NVME_IOCTL_VEC : 0);
                if (ret)
                        goto out_free_req;
        }