2022-06-06 05:56:17

by Miaoqian Lin

[permalink] [raw]
Subject: [PATCH v2] PCI: brcmstb: Fix refcount leak in brcm_pcie_probe

of_parse_phandle() returns a node pointer with refcount
incremented, we should use of_node_put() on it when not need anymore.
Add missing of_node_put() to avoid refcount leak.

Fixes: 40ca1bf580ef ("PCI: brcmstb: Add MSI support")
Signed-off-by: Miaoqian Lin <[email protected]>
---
changes in v2:
- update Fixes tag.
v1 Link: https://lore.kernel.org/r/[email protected]
---
drivers/pci/controller/pcie-brcmstb.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
index 375c0c40bbf8..e3b673441a11 100644
--- a/drivers/pci/controller/pcie-brcmstb.c
+++ b/drivers/pci/controller/pcie-brcmstb.c
@@ -1597,8 +1597,10 @@ static int brcm_pcie_probe(struct platform_device *pdev)
ret = brcm_pcie_enable_msi(pcie);
if (ret) {
dev_err(pcie->dev, "probe of internal MSI failed");
+ of_node_put(msi_np);
goto fail;
}
+ of_node_put(msi_np);
}

bridge->ops = pcie->type == BCM7425 ? &brcm_pcie_ops32 : &brcm_pcie_ops;
--
2.25.1


2022-06-07 04:58:22

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2] PCI: brcmstb: Fix refcount leak in brcm_pcie_probe

On Fri, Jun 3, 2022 at 8:09 AM Miaoqian Lin <[email protected]> wrote:
>
> of_parse_phandle() returns a node pointer with refcount
> incremented, we should use of_node_put() on it when not need anymore.
> Add missing of_node_put() to avoid refcount leak.
>
> Fixes: 40ca1bf580ef ("PCI: brcmstb: Add MSI support")
> Signed-off-by: Miaoqian Lin <[email protected]>
> ---
> changes in v2:
> - update Fixes tag.
> v1 Link: https://lore.kernel.org/r/[email protected]
> ---
> drivers/pci/controller/pcie-brcmstb.c | 2 ++
> 1 file changed, 2 insertions(+)

Reviewed-by: Rob Herring <[email protected]>

2022-06-08 21:43:40

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH v2] PCI: brcmstb: Fix refcount leak in brcm_pcie_probe

On Fri, Jun 03, 2022 at 05:08:49PM +0400, Miaoqian Lin wrote:
> of_parse_phandle() returns a node pointer with refcount
> incremented, we should use of_node_put() on it when not need anymore.
> Add missing of_node_put() to avoid refcount leak.
>
> Fixes: 40ca1bf580ef ("PCI: brcmstb: Add MSI support")
> Signed-off-by: Miaoqian Lin <[email protected]>

Applied with Rob's reviewed-by to pci/ctrl/brcmstb for v5.20, thanks!

> ---
> changes in v2:
> - update Fixes tag.
> v1 Link: https://lore.kernel.org/r/[email protected]
> ---
> drivers/pci/controller/pcie-brcmstb.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
> index 375c0c40bbf8..e3b673441a11 100644
> --- a/drivers/pci/controller/pcie-brcmstb.c
> +++ b/drivers/pci/controller/pcie-brcmstb.c
> @@ -1597,8 +1597,10 @@ static int brcm_pcie_probe(struct platform_device *pdev)
> ret = brcm_pcie_enable_msi(pcie);
> if (ret) {
> dev_err(pcie->dev, "probe of internal MSI failed");
> + of_node_put(msi_np);
> goto fail;
> }
> + of_node_put(msi_np);
> }
>
> bridge->ops = pcie->type == BCM7425 ? &brcm_pcie_ops32 : &brcm_pcie_ops;
> --
> 2.25.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel