2022-04-05 03:18:52

by Miaoqian Lin

[permalink] [raw]
Subject: [PATCH] HSI: omap_ssi: Fix refcount leak in ssi_probe

When returning or breaking early from a
for_each_available_child_of_node() loop, we need to explicitly call
of_node_put() on the child node to possibly release the node.

Fixes: b209e047bc74 ("HSI: Introduce OMAP SSI driver")
Signed-off-by: Miaoqian Lin <[email protected]>
---
drivers/hsi/controllers/omap_ssi_core.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/hsi/controllers/omap_ssi_core.c b/drivers/hsi/controllers/omap_ssi_core.c
index 44a3f5660c10..eb9820158318 100644
--- a/drivers/hsi/controllers/omap_ssi_core.c
+++ b/drivers/hsi/controllers/omap_ssi_core.c
@@ -524,6 +524,7 @@ static int ssi_probe(struct platform_device *pd)
if (!childpdev) {
err = -ENODEV;
dev_err(&pd->dev, "failed to create ssi controller port\n");
+ of_node_put(child);
goto out3;
}
}
--
2.17.1


2022-04-12 13:13:10

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH] HSI: omap_ssi: Fix refcount leak in ssi_probe

Hi,

On Mon, Apr 04, 2022 at 08:52:32AM +0000, Miaoqian Lin wrote:
> When returning or breaking early from a
> for_each_available_child_of_node() loop, we need to explicitly call
> of_node_put() on the child node to possibly release the node.
>
> Fixes: b209e047bc74 ("HSI: Introduce OMAP SSI driver")
> Signed-off-by: Miaoqian Lin <[email protected]>
> ---

Thanks, queued.

-- Sebastian

> drivers/hsi/controllers/omap_ssi_core.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/hsi/controllers/omap_ssi_core.c b/drivers/hsi/controllers/omap_ssi_core.c
> index 44a3f5660c10..eb9820158318 100644
> --- a/drivers/hsi/controllers/omap_ssi_core.c
> +++ b/drivers/hsi/controllers/omap_ssi_core.c
> @@ -524,6 +524,7 @@ static int ssi_probe(struct platform_device *pd)
> if (!childpdev) {
> err = -ENODEV;
> dev_err(&pd->dev, "failed to create ssi controller port\n");
> + of_node_put(child);
> goto out3;
> }
> }
> --
> 2.17.1
>


Attachments:
(No filename) (0.98 kB)
signature.asc (849.00 B)
Download all attachments