Commit 85686c72 authored by Keith Busch's avatar Keith Busch
Browse files

nvme-pci: fix dma_vecs leak on p2p memory



We don't unmap P2P memory, so we don't need to track it. The dma_vec
allocation was getting leaked on the completion.

Fixes: b8b7570a ("nvme-pci: fix dma unmapping when using PRPs and not using the IOVA mapping")
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarKeith Busch <kbusch@kernel.org>
parent 431e4004
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -966,7 +966,8 @@ static bool nvme_pci_prp_save_mapping(struct request *req,
{
	struct nvme_iod *iod = blk_mq_rq_to_pdu(req);

	if (dma_use_iova(&iod->dma_state) || !dma_need_unmap(dma_dev))
	if (dma_use_iova(&iod->dma_state) || !dma_need_unmap(dma_dev) ||
	    (iod->flags & IOD_DATA_P2P))
		return true;

	if (!iod->nr_dma_vecs) {