linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Fixes two memory leaks in drivers/clk/sunxi/clk-sunxi.c
@ 2014-06-14  1:47 Nick
  2014-06-14  2:11 ` Emilio López
  2014-06-14 17:22 ` Sergei Shtylyov
  0 siblings, 2 replies; 3+ messages in thread
From: Nick @ 2014-06-14  1:47 UTC (permalink / raw)
  To: linux-arm-kernel

diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index 4264834..07b45d1 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -41,9 +41,11 @@ static void __init sun4i_osc_clk_setup(struct device_node *node)
 	const char *clk_name = node->name;
 	u32 rate;
 
-	if (of_property_read_u32(node, "clock-frequency", &rate))
+	if (of_property_read_u32(node, "clock-frequency", &rate)) {
+		kfree(fixed);
+		kfree(gate);
 		return;
-
+	}
 	/* allocate fixed-rate and gate clock structs */
 	fixed = kzalloc(sizeof(struct clk_fixed_rate), GFP_KERNEL);
 	if (!fixed)
-- 
1.9.1

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

* [PATCH] Fixes two memory leaks in drivers/clk/sunxi/clk-sunxi.c
  2014-06-14  1:47 [PATCH] Fixes two memory leaks in drivers/clk/sunxi/clk-sunxi.c Nick
@ 2014-06-14  2:11 ` Emilio López
  2014-06-14 17:22 ` Sergei Shtylyov
  1 sibling, 0 replies; 3+ messages in thread
From: Emilio López @ 2014-06-14  2:11 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

El 13/06/14 22:47, Nick escribi?:
> diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
> index 4264834..07b45d1 100644
> --- a/drivers/clk/sunxi/clk-sunxi.c
> +++ b/drivers/clk/sunxi/clk-sunxi.c
> @@ -41,9 +41,11 @@ static void __init sun4i_osc_clk_setup(struct device_node *node)
>   	const char *clk_name = node->name;
>   	u32 rate;
>
> -	if (of_property_read_u32(node, "clock-frequency", &rate))
> +	if (of_property_read_u32(node, "clock-frequency", &rate)) {
> +		kfree(fixed);
> +		kfree(gate);

Why are you trying to free these two, when they haven't been allocated yet?

>   		return;
> -
> +	}
>   	/* allocate fixed-rate and gate clock structs */
>   	fixed = kzalloc(sizeof(struct clk_fixed_rate), GFP_KERNEL);
>   	if (!fixed)
>

fixed is allocated here. gate follows suit after it.

Cheers,

Emilio

PS: For next time, please use a proper prefix on your patch subject 
("clk: sunxi: " in this case) as well as add a description to your patch 
and a signoff line.

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

* [PATCH] Fixes two memory leaks in drivers/clk/sunxi/clk-sunxi.c
  2014-06-14  1:47 [PATCH] Fixes two memory leaks in drivers/clk/sunxi/clk-sunxi.c Nick
  2014-06-14  2:11 ` Emilio López
@ 2014-06-14 17:22 ` Sergei Shtylyov
  1 sibling, 0 replies; 3+ messages in thread
From: Sergei Shtylyov @ 2014-06-14 17:22 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 06/14/2014 05:47 AM, Nick wrote:

   Please sign off on your patches, they can't applied otherwise.

> diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
> index 4264834..07b45d1 100644
> --- a/drivers/clk/sunxi/clk-sunxi.c
> +++ b/drivers/clk/sunxi/clk-sunxi.c
> @@ -41,9 +41,11 @@ static void __init sun4i_osc_clk_setup(struct device_node *node)
>   	const char *clk_name = node->name;
>   	u32 rate;
>
> -	if (of_property_read_u32(node, "clock-frequency", &rate))
> +	if (of_property_read_u32(node, "clock-frequency", &rate)) {
> +		kfree(fixed);

    Eh, we only allocate 'fixed' after this point, no?

> +		kfree(gate);
>   		return;
> -
> +	}
>   	/* allocate fixed-rate and gate clock structs */
>   	fixed = kzalloc(sizeof(struct clk_fixed_rate), GFP_KERNEL);
>   	if (!fixed)

WBR, Sergei

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

end of thread, other threads:[~2014-06-14 17:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-14  1:47 [PATCH] Fixes two memory leaks in drivers/clk/sunxi/clk-sunxi.c Nick
2014-06-14  2:11 ` Emilio López
2014-06-14 17:22 ` Sergei Shtylyov

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).