diff mbox series

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

Message ID 20220617122505.4048126-1-windhl@126.com (mailing list archive)
State Accepted
Commit 76695592711ef1e215cc24ed3e1cd857d7fc3098
Headers show
Series mips: lantiq: xway: Fix refcount leak bug in sysctrl | expand

Commit Message

Liang He June 17, 2022, 12:25 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/xway/sysctrl.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Thomas Bogendoerfer June 21, 2022, 3:15 p.m. UTC | #1
On Fri, Jun 17, 2022 at 08:25:05PM +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/xway/sysctrl.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
> index 084f6caba5f2..d444a1b98a72 100644
> --- a/arch/mips/lantiq/xway/sysctrl.c
> +++ b/arch/mips/lantiq/xway/sysctrl.c
> @@ -441,6 +441,10 @@ void __init ltq_soc_init(void)
>  			of_address_to_resource(np_ebu, 0, &res_ebu))
>  		panic("Failed to get core resources");
>  
> +	of_node_put(np_pmu);
> +	of_node_put(np_cgu);
> +	of_node_put(np_ebu);
> +
>  	if (!request_mem_region(res_pmu.start, resource_size(&res_pmu),
>  				res_pmu.name) ||
>  		!request_mem_region(res_cgu.start, resource_size(&res_cgu),
> -- 
> 2.25.1

applied to mips-fixes.

Thomas.
diff mbox series

Patch

diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index 084f6caba5f2..d444a1b98a72 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -441,6 +441,10 @@  void __init ltq_soc_init(void)
 			of_address_to_resource(np_ebu, 0, &res_ebu))
 		panic("Failed to get core resources");
 
+	of_node_put(np_pmu);
+	of_node_put(np_cgu);
+	of_node_put(np_ebu);
+
 	if (!request_mem_region(res_pmu.start, resource_size(&res_pmu),
 				res_pmu.name) ||
 		!request_mem_region(res_cgu.start, resource_size(&res_cgu),