Re: [PATCH] power: supply: Fix refcount leak in rk817_charger_probe

From: Chris Morgan
Date: Tue Nov 29 2022 - 12:35:52 EST


On Mon, Nov 28, 2022 at 10:27:40PM +0800, Qiheng Lin wrote:
> of_get_child_by_name() 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: 11cb8da0189b ("power: supply: Add charger driver for Rockchip RK817")
> Signed-off-by: Qiheng Lin <linqiheng@xxxxxxxxxx>

Good catch, thank you!

Reviewed-by: Chris Morgan <macromorgan@xxxxxxxxxxx>

> ---
> drivers/power/supply/rk817_charger.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/power/supply/rk817_charger.c b/drivers/power/supply/rk817_charger.c
> index 635f051b0821..d25a81d79fac 100644
> --- a/drivers/power/supply/rk817_charger.c
> +++ b/drivers/power/supply/rk817_charger.c
> @@ -1060,8 +1060,10 @@ static int rk817_charger_probe(struct platform_device *pdev)
> return -ENODEV;
>
> charger = devm_kzalloc(&pdev->dev, sizeof(*charger), GFP_KERNEL);
> - if (!charger)
> + if (!charger) {
> + of_node_put(node);
> return -ENOMEM;
> + }
>
> charger->rk808 = rk808;
>
> --
> 2.32.0
>