2022-01-04 13:28:58

by Yang Yingliang

[permalink] [raw]
Subject: [PATCH -next] MIPS: Loongson64: Add missing of_node_put() in ls2k_reset_init()

This node pointer is returned by of_find_compatible_node() with
refcount incremented in ls2k_reset_init(). Calling of_node_put()
to aovid the refcount leak.

Fixes: 7eb7819a2e12 ("MIPS: Loongson64: Add Loongson-2K1000 reset platform driver")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Yang Yingliang <[email protected]>
---
drivers/platform/mips/ls2k-reset.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/mips/ls2k-reset.c b/drivers/platform/mips/ls2k-reset.c
index b70e7b8a092c..8f42d5d16480 100644
--- a/drivers/platform/mips/ls2k-reset.c
+++ b/drivers/platform/mips/ls2k-reset.c
@@ -38,6 +38,7 @@ static int ls2k_reset_init(void)
}

base = of_iomap(np, 0);
+ of_node_put(np);
if (!base) {
pr_info("Failed to map PM register base address\n");
return -ENOMEM;
@@ -46,7 +47,6 @@ static int ls2k_reset_init(void)
_machine_restart = ls2k_restart;
pm_power_off = ls2k_poweroff;

- of_node_put(np);
return 0;
}

--
2.25.1



2022-01-05 09:29:24

by Thomas Bogendoerfer

[permalink] [raw]
Subject: Re: [PATCH -next] MIPS: Loongson64: Add missing of_node_put() in ls2k_reset_init()

On Tue, Jan 04, 2022 at 09:34:15PM +0800, Yang Yingliang wrote:
> This node pointer is returned by of_find_compatible_node() with
> refcount incremented in ls2k_reset_init(). Calling of_node_put()
> to aovid the refcount leak.
>
> Fixes: 7eb7819a2e12 ("MIPS: Loongson64: Add Loongson-2K1000 reset platform driver")
> Reported-by: Hulk Robot <[email protected]>
> Signed-off-by: Yang Yingliang <[email protected]>
> ---
> drivers/platform/mips/ls2k-reset.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/platform/mips/ls2k-reset.c b/drivers/platform/mips/ls2k-reset.c
> index b70e7b8a092c..8f42d5d16480 100644
> --- a/drivers/platform/mips/ls2k-reset.c
> +++ b/drivers/platform/mips/ls2k-reset.c
> @@ -38,6 +38,7 @@ static int ls2k_reset_init(void)
> }
>
> base = of_iomap(np, 0);
> + of_node_put(np);
> if (!base) {
> pr_info("Failed to map PM register base address\n");
> return -ENOMEM;
> @@ -46,7 +47,6 @@ static int ls2k_reset_init(void)
> _machine_restart = ls2k_restart;
> pm_power_off = ls2k_poweroff;
>
> - of_node_put(np);
> return 0;
> }
>
> --
> 2.25.1

applied to mips-next.

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]