Re: [PATCH for-next] nvme: use helpers to access io_uring cmd space

Chaitanya Kulkarni
2024-10-19T00:44:54Z

+ (linux-nvme)

On 10/18/24 09:16, Pavel Begunkov wrote:
> Command implementations shouldn't be directly looking into io_uring_cmd
> to carve free space. Use an io_uring helper, which will also do build
> time size sanitisation.
>
> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
> ---
> drivers/nvme/host/ioctl.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/nvme/host/ioctl.c b/drivers/nvme/host/ioctl.c
> index 1d769c842fbf..6f351da7f049 100644
> --- a/drivers/nvme/host/ioctl.c
> +++ b/drivers/nvme/host/ioctl.c
> @@ -404,7 +404,7 @@ struct nvme_uring_cmd_pdu {
> static inline struct nvme_uring_cmd_pdu *nvme_uring_cmd_pdu(
> struct io_uring_cmd *ioucmd)
> {
> - return (struct nvme_uring_cmd_pdu *)&ioucmd->pdu;
> + return io_uring_cmd_to_pdu(ioucmd, struct nvme_uring_cmd_pdu);
> }
>
> static void nvme_uring_task_cb(struct io_uring_cmd *ioucmd,
> @@ -634,8 +634,6 @@ static int nvme_ns_uring_cmd(struct nvme_ns *ns, struct io_uring_cmd *ioucmd,
> struct nvme_ctrl *ctrl = ns->ctrl;
> int ret;
>
> - BUILD_BUG_ON(sizeof(struct nvme_uring_cmd_pdu) > sizeof(ioucmd->pdu));
> -
> ret = nvme_uring_cmd_checks(issue_flags);
> if (ret)
> return ret;

Indeed from io_uring_cmd_private_sz_check(), Looks good.

Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>

-ck