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

Yang Yingliang posted 1 patch 4 years, 5 months ago
drivers/platform/mips/ls2k-reset.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH -next] MIPS: Loongson64: Add missing of_node_put() in ls2k_reset_init()
Posted by Yang Yingliang 4 years, 5 months ago
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 <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 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

Re: [PATCH -next] MIPS: Loongson64: Add missing of_node_put() in ls2k_reset_init()
Posted by Thomas Bogendoerfer 4 years, 5 months ago
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 <hulkci@huawei.com>
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> ---
>  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 ]