[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250820202830.GA638988@bhelgaas>
Date: Wed, 20 Aug 2025 15:28:30 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Sungho Kim <sungho.kim@...iosa.ai>
Cc: bhelgaas@...gle.com, logang@...tatee.com, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] PCI: p2pdma: Fix incorrect pointer usage in devm_kfree()
call
On Wed, Aug 20, 2025 at 07:57:14PM +0900, Sungho Kim wrote:
> 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>
Applied to pci/p2pdma for v6.18, thanks!
> ---
> 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