[PATCH] mips: lantiq: falcon: Fix refcount leak bug in sysctrl

Liang He posted 1 patch 3 years, 10 months ago
arch/mips/lantiq/falcon/sysctrl.c | 6 ++++++
1 file changed, 6 insertions(+)
[PATCH] mips: lantiq: falcon: Fix refcount leak bug in sysctrl
Posted by Liang He 3 years, 10 months ago
In ltq_soc_init(), of_find_compatible_node() will return a node pointer
with refcount incremented. We should use of_node_put() when it is not
used anymore.

Signed-off-by: Liang He <windhl@126.com>
---
 arch/mips/lantiq/falcon/sysctrl.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/mips/lantiq/falcon/sysctrl.c b/arch/mips/lantiq/falcon/sysctrl.c
index 5204fc6d6d50..1187729d8cbb 100644
--- a/arch/mips/lantiq/falcon/sysctrl.c
+++ b/arch/mips/lantiq/falcon/sysctrl.c
@@ -208,6 +208,12 @@ void __init ltq_soc_init(void)
 			of_address_to_resource(np_sysgpe, 0, &res_sys[2]))
 		panic("Failed to get core resources");
 
+	of_node_put(np_status);
+	of_node_put(np_ebu);
+	of_node_put(np_sys1);
+	of_node_put(np_syseth);
+	of_node_put(np_sysgpe);
+
 	if ((request_mem_region(res_status.start, resource_size(&res_status),
 				res_status.name) < 0) ||
 		(request_mem_region(res_ebu.start, resource_size(&res_ebu),
-- 
2.25.1
Re: [PATCH] mips: lantiq: falcon: Fix refcount leak bug in sysctrl
Posted by Thomas Bogendoerfer 3 years, 10 months ago
On Fri, Jun 17, 2022 at 08:19:58PM +0800, Liang He wrote:
> In ltq_soc_init(), of_find_compatible_node() will return a node pointer
> with refcount incremented. We should use of_node_put() when it is not
> used anymore.
> 
> Signed-off-by: Liang He <windhl@126.com>
> ---
>  arch/mips/lantiq/falcon/sysctrl.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/arch/mips/lantiq/falcon/sysctrl.c b/arch/mips/lantiq/falcon/sysctrl.c
> index 5204fc6d6d50..1187729d8cbb 100644
> --- a/arch/mips/lantiq/falcon/sysctrl.c
> +++ b/arch/mips/lantiq/falcon/sysctrl.c
> @@ -208,6 +208,12 @@ void __init ltq_soc_init(void)
>  			of_address_to_resource(np_sysgpe, 0, &res_sys[2]))
>  		panic("Failed to get core resources");
>  
> +	of_node_put(np_status);
> +	of_node_put(np_ebu);
> +	of_node_put(np_sys1);
> +	of_node_put(np_syseth);
> +	of_node_put(np_sysgpe);
> +
>  	if ((request_mem_region(res_status.start, resource_size(&res_status),
>  				res_status.name) < 0) ||
>  		(request_mem_region(res_ebu.start, resource_size(&res_ebu),
> -- 
> 2.25.1

applied to mips-fixes.

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]