diff mbox series

mips: lantiq: falcon: Fix refcount leak bug in sysctrl

Message ID 20220617121958.4047910-1-windhl@126.com (mailing list archive)
State Accepted
Commit 72a2af539fff975caadd9a4db3f99963569bd9c9
Headers show
Series mips: lantiq: falcon: Fix refcount leak bug in sysctrl | expand

Commit Message

Liang He June 17, 2022, 12:19 p.m. UTC
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(+)

Comments

Thomas Bogendoerfer June 21, 2022, 3:15 p.m. UTC | #1
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.
diff mbox series

Patch

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),