2022-06-06 06:09:38

by Miaoqian Lin

[permalink] [raw]
Subject: [PATCH] cpufreq: zynq: Fix refcount leak in zynq_get_revision

of_find_compatible_node() returns a node pointer with refcount
incremented, we should use of_node_put() on it when done.
Add missing of_node_put() to avoid refcount leak.

Fixes: 00f7dc636366 ("ARM: zynq: Add support for SOC_BUS")
Signed-off-by: Miaoqian Lin <[email protected]>
---
arch/arm/mach-zynq/common.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c
index e1ca6a5732d2..15e8a321a713 100644
--- a/arch/arm/mach-zynq/common.c
+++ b/arch/arm/mach-zynq/common.c
@@ -77,6 +77,7 @@ static int __init zynq_get_revision(void)
}

zynq_devcfg_base = of_iomap(np, 0);
+ of_node_put(np);
if (!zynq_devcfg_base) {
pr_err("%s: Unable to map I/O memory\n", __func__);
return -1;
--
2.25.1


2022-06-29 12:56:30

by Michal Simek

[permalink] [raw]
Subject: Re: [PATCH] cpufreq: zynq: Fix refcount leak in zynq_get_revision



On 6/5/22 10:28, Miaoqian Lin wrote:
> of_find_compatible_node() returns a node pointer with refcount
> incremented, we should use of_node_put() on it when done.
> Add missing of_node_put() to avoid refcount leak.
>
> Fixes: 00f7dc636366 ("ARM: zynq: Add support for SOC_BUS")
> Signed-off-by: Miaoqian Lin <[email protected]>
> ---
> arch/arm/mach-zynq/common.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c
> index e1ca6a5732d2..15e8a321a713 100644
> --- a/arch/arm/mach-zynq/common.c
> +++ b/arch/arm/mach-zynq/common.c
> @@ -77,6 +77,7 @@ static int __init zynq_get_revision(void)
> }
>
> zynq_devcfg_base = of_iomap(np, 0);
> + of_node_put(np);
> if (!zynq_devcfg_base) {
> pr_err("%s: Unable to map I/O memory\n", __func__);
> return -1;

Applied.
M