linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] csky: fix refcount leak in setup_smp()
@ 2018-12-27 16:27 Yangtao Li
  2018-12-27 17:02 ` Guo Ren
  0 siblings, 1 reply; 2+ messages in thread
From: Yangtao Li @ 2018-12-27 16:27 UTC (permalink / raw)
  To: guoren, arnd; +Cc: linux-kernel, Yangtao Li

The of_find_node_by_type() returns a node pointer with refcount
incremented, but there is the lack of use of the of_node_put() when
done. Add the missing of_node_put() to release the refcount.

Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
---
 arch/csky/kernel/smp.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/csky/kernel/smp.c b/arch/csky/kernel/smp.c
index 36ebaf9834e1..adec56df613b 100644
--- a/arch/csky/kernel/smp.c
+++ b/arch/csky/kernel/smp.c
@@ -139,11 +139,17 @@ void __init setup_smp(void)
 	int cpu;
 
 	while ((node = of_find_node_by_type(node, "cpu"))) {
-		if (!of_device_is_available(node))
+		if (!of_device_is_available(node)) {
+			of_node_put(node);
 			continue;
+		}
 
-		if (of_property_read_u32(node, "reg", &cpu))
+		if (of_property_read_u32(node, "reg", &cpu)) {
+			of_node_put(node);
 			continue;
+		}
+
+		of_node_put(node);
 
 		if (cpu >= NR_CPUS)
 			continue;
-- 
2.17.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] csky: fix refcount leak in setup_smp()
  2018-12-27 16:27 [PATCH] csky: fix refcount leak in setup_smp() Yangtao Li
@ 2018-12-27 17:02 ` Guo Ren
  0 siblings, 0 replies; 2+ messages in thread
From: Guo Ren @ 2018-12-27 17:02 UTC (permalink / raw)
  To: Yangtao Li; +Cc: arnd, linux-kernel

Hi Li,

On Thu, Dec 27, 2018 at 11:27:11AM -0500, Yangtao Li wrote:
> The of_find_node_by_type() returns a node pointer with refcount
> incremented, but there is the lack of use of the of_node_put() when
> done. Add the missing of_node_put() to release the refcount.
> 
> Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> ---
>  arch/csky/kernel/smp.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/csky/kernel/smp.c b/arch/csky/kernel/smp.c
> index 36ebaf9834e1..adec56df613b 100644
> --- a/arch/csky/kernel/smp.c
> +++ b/arch/csky/kernel/smp.c
> @@ -139,11 +139,17 @@ void __init setup_smp(void)
>  	int cpu;
>  
>  	while ((node = of_find_node_by_type(node, "cpu"))) {
> -		if (!of_device_is_available(node))
> +		if (!of_device_is_available(node)) {
> +			of_node_put(node);
>  			continue;
> +		}
>  
> -		if (of_property_read_u32(node, "reg", &cpu))
> +		if (of_property_read_u32(node, "reg", &cpu)) {
> +			of_node_put(node);
>  			continue;
> +		}
> +
> +		of_node_put(node);
If success, of_node_put ?
>  
>  		if (cpu >= NR_CPUS)
Here need a of_node_put()?
>  			continue;

Can you use for_each_of_cpu_node() for the patch?

Thx
 Guo Ren

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-12-27 17:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-27 16:27 [PATCH] csky: fix refcount leak in setup_smp() Yangtao Li
2018-12-27 17:02 ` Guo Ren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).