[PATCH] mips: cdmm: Fix refcount leak in mips_cdmm_phys_base

Miaoqian Lin posted 1 patch 4 years, 3 months ago
drivers/bus/mips_cdmm.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] mips: cdmm: Fix refcount leak in mips_cdmm_phys_base
Posted by Miaoqian Lin 4 years, 3 months ago
The of_find_compatible_node() function returns a node pointer with
refcount incremented, We should use of_node_put() on it when done
Add the missing of_node_put() to release the refcount.

Fixes: 2121aa3e2312 ("mips: cdmm: Add mti,mips-cdmm dtb node support")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
 drivers/bus/mips_cdmm.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/bus/mips_cdmm.c b/drivers/bus/mips_cdmm.c
index 626dedd110cb..fca0d0669aa9 100644
--- a/drivers/bus/mips_cdmm.c
+++ b/drivers/bus/mips_cdmm.c
@@ -351,6 +351,7 @@ phys_addr_t __weak mips_cdmm_phys_base(void)
 	np = of_find_compatible_node(NULL, NULL, "mti,mips-cdmm");
 	if (np) {
 		err = of_address_to_resource(np, 0, &res);
+		of_node_put(np);
 		if (!err)
 			return res.start;
 	}
-- 
2.17.1
Re: [PATCH] mips: cdmm: Fix refcount leak in mips_cdmm_phys_base
Posted by Thomas Bogendoerfer 4 years, 3 months ago
On Wed, Mar 09, 2022 at 09:17:10AM +0000, Miaoqian Lin wrote:
> The of_find_compatible_node() function returns a node pointer with
> refcount incremented, We should use of_node_put() on it when done
> Add the missing of_node_put() to release the refcount.
> 
> Fixes: 2121aa3e2312 ("mips: cdmm: Add mti,mips-cdmm dtb node support")
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
> ---
>  drivers/bus/mips_cdmm.c | 1 +
>  1 file changed, 1 insertion(+)

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 ]
Re: [PATCH] mips: cdmm: Fix refcount leak in mips_cdmm_phys_base
Posted by Serge Semin 4 years, 3 months ago
On Wed, Mar 09, 2022 at 09:17:10AM +0000, Miaoqian Lin wrote:
> The of_find_compatible_node() function returns a node pointer with
> refcount incremented, We should use of_node_put() on it when done
> Add the missing of_node_put() to release the refcount.
> 
> Fixes: 2121aa3e2312 ("mips: cdmm: Add mti,mips-cdmm dtb node support")

Nice catch. Thanks.

Acked-by: Serge Semin <fancer.lancer@gmail.com>

> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
> ---
>  drivers/bus/mips_cdmm.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/bus/mips_cdmm.c b/drivers/bus/mips_cdmm.c
> index 626dedd110cb..fca0d0669aa9 100644
> --- a/drivers/bus/mips_cdmm.c
> +++ b/drivers/bus/mips_cdmm.c
> @@ -351,6 +351,7 @@ phys_addr_t __weak mips_cdmm_phys_base(void)
>  	np = of_find_compatible_node(NULL, NULL, "mti,mips-cdmm");
>  	if (np) {
>  		err = of_address_to_resource(np, 0, &res);
> +		of_node_put(np);
>  		if (!err)
>  			return res.start;
>  	}
> -- 
> 2.17.1
>