arch/sparc/kernel/leon_smp.c | 1 + 1 file changed, 1 insertion(+)
of_find_node_by_path() returns a node pointer with
refcount incremented, we should use of_node_put() on it when done.
Add missing of_node_put() to avoid refcount leak.
Fixes: 1ca0c808c60f ("sparc32,leon: Implemented SMP IPIs for LEON CPU")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
arch/sparc/kernel/leon_smp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/sparc/kernel/leon_smp.c b/arch/sparc/kernel/leon_smp.c
index 1eed26d423fb..85b22669c002 100644
--- a/arch/sparc/kernel/leon_smp.c
+++ b/arch/sparc/kernel/leon_smp.c
@@ -284,6 +284,7 @@ static void __init leon_ipi_init(void)
pp = of_find_property(rootnp, "ipi_num", &len);
if (pp && (*(int *)pp->value))
leon_ipi_irq = *(int *)pp->value;
+ of_node_put(rootnp);
}
printk(KERN_INFO "leon: SMP IPIs at IRQ %d\n", leon_ipi_irq);
--
2.25.1
On Sun, Jun 05, 2022 at 09:29:41AM +0400, Miaoqian Lin wrote:
> of_find_node_by_path() returns a node pointer with
> refcount incremented, we should use of_node_put() on it when done.
> Add missing of_node_put() to avoid refcount leak.
>
> Fixes: 1ca0c808c60f ("sparc32,leon: Implemented SMP IPIs for LEON CPU")
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
The patch is finei, thanks:
Acked-by: Sam Ravnborg <sam@ravnborg.org>
All other uses of of_find_node_by_path() in sparc has the same issue.
Could you try to take a look at the rest too?
Sam
> ---
> arch/sparc/kernel/leon_smp.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/sparc/kernel/leon_smp.c b/arch/sparc/kernel/leon_smp.c
> index 1eed26d423fb..85b22669c002 100644
> --- a/arch/sparc/kernel/leon_smp.c
> +++ b/arch/sparc/kernel/leon_smp.c
> @@ -284,6 +284,7 @@ static void __init leon_ipi_init(void)
> pp = of_find_property(rootnp, "ipi_num", &len);
> if (pp && (*(int *)pp->value))
> leon_ipi_irq = *(int *)pp->value;
> + of_node_put(rootnp);
> }
> printk(KERN_INFO "leon: SMP IPIs at IRQ %d\n", leon_ipi_irq);
>
> --
> 2.25.1
On 2022/6/5 15:48, Sam Ravnborg wrote:
> On Sun, Jun 05, 2022 at 09:29:41AM +0400, Miaoqian Lin wrote:
>> of_find_node_by_path() returns a node pointer with
>> refcount incremented, we should use of_node_put() on it when done.
>> Add missing of_node_put() to avoid refcount leak.
>>
>> Fixes: 1ca0c808c60f ("sparc32,leon: Implemented SMP IPIs for LEON CPU")
>> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
> The patch is finei, thanks:
> Acked-by: Sam Ravnborg <sam@ravnborg.org>
>
> All other uses of of_find_node_by_path() in sparc has the same issue.
> Could you try to take a look at the rest too?
Sure, I will look into them.
> Sam
>> ---
>> arch/sparc/kernel/leon_smp.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/sparc/kernel/leon_smp.c b/arch/sparc/kernel/leon_smp.c
>> index 1eed26d423fb..85b22669c002 100644
>> --- a/arch/sparc/kernel/leon_smp.c
>> +++ b/arch/sparc/kernel/leon_smp.c
>> @@ -284,6 +284,7 @@ static void __init leon_ipi_init(void)
>> pp = of_find_property(rootnp, "ipi_num", &len);
>> if (pp && (*(int *)pp->value))
>> leon_ipi_irq = *(int *)pp->value;
>> + of_node_put(rootnp);
>> }
>> printk(KERN_INFO "leon: SMP IPIs at IRQ %d\n", leon_ipi_irq);
>>
>> --
>> 2.25.1
© 2016 - 2026 Red Hat, Inc.