[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250820105714.2939896-1-sungho.kim@furiosa.ai>
Date: Wed, 20 Aug 2025 19:57:14 +0900
From: Sungho Kim <sungho.kim@...iosa.ai>
To: bhelgaas@...gle.com
Cc: logang@...tatee.com,
linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org,
Sungho Kim <sungho.kim@...iosa.ai>
Subject: [PATCH] PCI: p2pdma: Fix incorrect pointer usage in devm_kfree() call
The error handling path in the P2P DMA resource setup function contains
a bug in its `pgmap_free` label.
Memory is allocated for the `p2p_pgmap` struct, and the pointer is stored
in the `p2p_pgmap` variable. However, the error path attempts to call
devm_kfree() using the `pgmap` variable, which is a pointer to a member
field within the `p2p_pgmap` struct, not the base pointer of the allocation.
This patch corrects the bug by passing the correct base pointer,
`p2p_pgmap`, to the devm_kfree() function.
Signed-off-by: Sungho Kim <sungho.kim@...iosa.ai>
---
drivers/pci/p2pdma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c
index da5657a02..1cb5e423e 100644
--- a/drivers/pci/p2pdma.c
+++ b/drivers/pci/p2pdma.c
@@ -360,7 +360,7 @@ int pci_p2pdma_add_resource(struct pci_dev *pdev, int bar, size_t size,
pages_free:
devm_memunmap_pages(&pdev->dev, pgmap);
pgmap_free:
- devm_kfree(&pdev->dev, pgmap);
+ devm_kfree(&pdev->dev, p2p_pgmap);
return error;
}
EXPORT_SYMBOL_GPL(pci_p2pdma_add_resource);
--
2.48.1
Powered by blists - more mailing lists