Messages in this thread Patch in this message | | | From | Lei Rao <> | Subject | [PATCH] nvme: clear the prp2 field of the nvme command. | Date | Tue, 29 Nov 2022 09:47:11 +0800 |
| |
If the prp2 field is not filled in nvme_setup_prp_simple(), the prp2 field is garbage data. According to nvme spec, the prp2 is reserved if the data transfer does not cross a memory page boundary. Writing a reserved coded value into a controller property field produces undefined results, so it needs to be cleared in nvme_setup_rw().
Signed-off-by: Lei Rao <lei.rao@intel.com> --- drivers/nvme/host/core.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index da55ce45ac70..332367b66fbe 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -891,6 +891,7 @@ static inline blk_status_t nvme_setup_rw(struct nvme_ns *ns, cmnd->rw.reftag = 0; cmnd->rw.apptag = 0; cmnd->rw.appmask = 0; + cmnd->rw.dptr.prp2 = 0; if (ns->ms) { /* -- 2.34.1
| |