2022-06-06 03:38:43

by Miaoqian Lin

[permalink] [raw]
Subject: [PATCH] ARM: versatile: Fix refcount leak in ap_init_of

of_find_matching_node() 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: e67ae6be734d ("ARM: integrator: hook the AP into the SoC bus")
Fixes: df36680f1a71 ("ARM: integrator: core module registers from compatible strings")
Signed-off-by: Miaoqian Lin <[email protected]>
---
arch/arm/mach-versatile/integrator_ap.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-versatile/integrator_ap.c b/arch/arm/mach-versatile/integrator_ap.c
index e216fac917d0..6b2a69acc6b0 100644
--- a/arch/arm/mach-versatile/integrator_ap.c
+++ b/arch/arm/mach-versatile/integrator_ap.c
@@ -175,6 +175,7 @@ static void __init ap_init_of(void)
if (!syscon)
return;
ap_syscon_map = syscon_node_to_regmap(syscon);
+ of_node_put(syscon);
if (IS_ERR(ap_syscon_map)) {
pr_crit("could not find Integrator/AP system controller\n");
return;
--
2.25.1


2022-06-15 14:19:31

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] ARM: versatile: Fix refcount leak in ap_init_of

On Sun, Jun 5, 2022 at 10:49 AM Miaoqian Lin <[email protected]> wrote:

> of_find_matching_node() 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: e67ae6be734d ("ARM: integrator: hook the AP into the SoC bus")
> Fixes: df36680f1a71 ("ARM: integrator: core module registers from compatible strings")
> Signed-off-by: Miaoqian Lin <[email protected]>

Patch applied!

Yours,
Linus Walleij