[PATCH RFC] nvme-ioctl: propagate PRP1 from ioctl to admin cmd
Keith Busch
kbusch at kernel.org
Mon Jun 22 07:35:42 PDT 2026
On Mon, Jun 22, 2026 at 04:15:42PM +0200, David Epping wrote:
> @@ -306,6 +306,7 @@ static int nvme_user_cmd(struct nvme_ctrl *ctrl, struct nvme_ns *ns,
> c.common.nsid = cpu_to_le32(cmd.nsid);
> c.common.cdw2[0] = cpu_to_le32(cmd.cdw2);
> c.common.cdw2[1] = cpu_to_le32(cmd.cdw3);
> + c.common.dptr.prp1 = cpu_to_le64(cmd.addr);
This is not correct: the user space virtual address isn't the device
DMA'able address. The driver already handles mapping the user address to
kernel space, then to dma, then sets the PRP accordingly.
More information about the Linux-nvme
mailing list