Re: [PATCH 5.15 218/779] regulator: of: Fix refcount leak bug in of_get_regulation_constraints()

From: Pavel Machek
Date: Fri Aug 19 2022 - 09:10:32 EST


Hi!

> From: Liang He <windhl@xxxxxxx>
>
> [ Upstream commit 66efb665cd5ad69b27dca8571bf89fc6b9c628a4 ]
>
> We should call the of_node_put() for the reference returned by
> of_get_child_by_name() which has increased the refcount.

Looks okay,

> +++ b/drivers/regulator/of_regulator.c
> @@ -264,8 +264,12 @@ static int of_get_regulation_constraints(struct device *dev,
> }
>
> suspend_np = of_get_child_by_name(np, regulator_states[i]);
> - if (!suspend_np || !suspend_state)
> + if (!suspend_np)
> continue;
> + if (!suspend_state) {
> + of_node_put(suspend_np);
> + continue;
> + }
>

but note that of_node_put(NULL) should be okay, so this can be cleaned
up.

Best regards,
Pavel
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

Attachment: signature.asc
Description: PGP signature