diff mbox series

arm: mach-imx: Fix refcount leak bug in src

Message ID 20220617121235.4047670-1-windhl@126.com
State New
Headers show
Series arm: mach-imx: Fix refcount leak bug in src | expand

Commit Message

Liang He June 17, 2022, 12:12 p.m. UTC
In imx7_src_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/arm/mach-imx/src.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Philipp Zabel June 17, 2022, 3:39 p.m. UTC | #1
Hi,

On Fr, 2022-06-17 at 20:12 +0800, Liang He wrote:
> In imx7_src_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/arm/mach-imx/src.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm/mach-imx/src.c b/arch/arm/mach-imx/src.c
> index 59a8e8cc4469..fff2776f9180 100644
> --- a/arch/arm/mach-imx/src.c
> +++ b/arch/arm/mach-imx/src.c
> @@ -195,6 +195,7 @@ void __init imx7_src_init(void)
>  		return;
>  
> 
> 
> 
>  	src_base = of_iomap(np, 0);
> +	of_node_put(np);

Thank you for the patch. There is another instance of this pattern a
few lines above, in imx_src_init().

regards
Philipp
Liang He June 17, 2022, 3:54 p.m. UTC | #2
At 2022-06-17 23:39:43, "Philipp Zabel" <p.zabel@pengutronix.de> wrote:
>Hi,
>
>On Fr, 2022-06-17 at 20:12 +0800, Liang He wrote:
>> In imx7_src_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/arm/mach-imx/src.c | 2 ++
>>  1 file changed, 2 insertions(+)
>> 
>> diff --git a/arch/arm/mach-imx/src.c b/arch/arm/mach-imx/src.c
>> index 59a8e8cc4469..fff2776f9180 100644
>> --- a/arch/arm/mach-imx/src.c
>> +++ b/arch/arm/mach-imx/src.c
>> @@ -195,6 +195,7 @@ void __init imx7_src_init(void)
>>  		return;
>>  
>> 
>> 
>> 
>>  	src_base = of_iomap(np, 0);
>> +	of_node_put(np);
>
>Thank you for the patch. There is another instance of this pattern a
>few lines above, in imx_src_init().
>
>regards
>Philipp

Thanks very much for your reply, Philipp.

 In fact, I have confirmed if there is any existed same patch in 
lore.kernel.org before I begin to send my patch.

So there is indeed a patch reported by Miaoqian for imx_src_init().
However, that patch does not consider the bug in imx7_src_init().

Thanks again.

Liang
Krzysztof Kozlowski June 22, 2022, 9 a.m. UTC | #3
On 17/06/2022 14:12, Liang He wrote:
> In imx7_src_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>
> ---

Before applying the patch please check it carefully. Previous evidence
[1][2] suggests that not it was not even compiled.



[1] https://lore.kernel.org/all/202206221602.odN70SHs-lkp@intel.com/

[2]
https://lore.kernel.org/all/16f9a971.44e5.1817068ee3c.Coremail.windhl@126.com/


Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/arch/arm/mach-imx/src.c b/arch/arm/mach-imx/src.c
index 59a8e8cc4469..fff2776f9180 100644
--- a/arch/arm/mach-imx/src.c
+++ b/arch/arm/mach-imx/src.c
@@ -195,6 +195,7 @@  void __init imx7_src_init(void)
 		return;
 
 	src_base = of_iomap(np, 0);
+	of_node_put(np);
 	if (!src_base)
 		return;
 
@@ -203,6 +204,7 @@  void __init imx7_src_init(void)
 		return;
 
 	gpc_base = of_iomap(np, 0);
+	of_node_put(np);
 	if (!gpc_base)
 		return;
 }