2022-06-17 12:22:45

by Liang He

[permalink] [raw]
Subject: [PATCH] arm: mach-imx: Fix refcount leak bug in src

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 <[email protected]>
---
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);
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;
}
--
2.25.1


2022-06-17 16:04:00

by Philipp Zabel

[permalink] [raw]
Subject: Re: [PATCH] arm: mach-imx: Fix refcount leak bug in src

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 <[email protected]>
> ---
>  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

2022-06-17 16:36:40

by Liang He

[permalink] [raw]
Subject: Re:Re: [PATCH] arm: mach-imx: Fix refcount leak bug in src





At 2022-06-17 23:39:43, "Philipp Zabel" <[email protected]> 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 <[email protected]>
>> ---
>>  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


2022-06-22 09:04:30

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] arm: mach-imx: Fix refcount leak bug in src

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 <[email protected]>
> ---

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/[email protected]/

[2]
https://lore.kernel.org/all/[email protected]/


Best regards,
Krzysztof