Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1297265 > unrolled thread

[PATCH] clk: gpio: fix memory leak

Started bySudip Mukherjee <sudipm.mukherjee@gmail.com>
First post2015-12-23 07:40 +0100
Last post2016-01-01 06:40 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] clk: gpio: fix memory leak Sudip Mukherjee <sudipm.mukherjee@gmail.com> - 2015-12-23 07:40 +0100
    Re: [PATCH] clk: gpio: fix memory leak Michael Turquette <mturquette@baylibre.com> - 2016-01-01 06:40 +0100

#1297265 — [PATCH] clk: gpio: fix memory leak

FromSudip Mukherjee <sudipm.mukherjee@gmail.com>
Date2015-12-23 07:40 +0100
Subject[PATCH] clk: gpio: fix memory leak
Message-ID<qILfz-65H-1@gated-at.bofh.it>
If we fail to allocate parent_name then we are returning but we missed
freeing data which has already been allocated.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
---
 drivers/clk/clk-gpio.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/clk-gpio.c b/drivers/clk/clk-gpio.c
index 335322d..c1baa89 100644
--- a/drivers/clk/clk-gpio.c
+++ b/drivers/clk/clk-gpio.c
@@ -294,8 +294,10 @@ static void __init of_gpio_clk_setup(struct device_node *node,
 	num_parents = of_clk_get_parent_count(node);
 
 	parent_names = kcalloc(num_parents, sizeof(char *), GFP_KERNEL);
-	if (!parent_names)
+	if (!parent_names) {
+		kfree(data);
 		return;
+	}
 
 	for (i = 0; i < num_parents; i++)
 		parent_names[i] = of_clk_get_parent_name(node, i);
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1299832

FromMichael Turquette <mturquette@baylibre.com>
Date2016-01-01 06:40 +0100
Message-ID<qM0Bs-63l-1@gated-at.bofh.it>
In reply to#1297265
Quoting Sudip Mukherjee (2015-12-22 22:33:59)
> If we fail to allocate parent_name then we are returning but we missed
> freeing data which has already been allocated.
> 
> Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>

Applied.

Thanks,
Mike

> ---
>  drivers/clk/clk-gpio.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/clk-gpio.c b/drivers/clk/clk-gpio.c
> index 335322d..c1baa89 100644
> --- a/drivers/clk/clk-gpio.c
> +++ b/drivers/clk/clk-gpio.c
> @@ -294,8 +294,10 @@ static void __init of_gpio_clk_setup(struct device_node *node,
>         num_parents = of_clk_get_parent_count(node);
>  
>         parent_names = kcalloc(num_parents, sizeof(char *), GFP_KERNEL);
> -       if (!parent_names)
> +       if (!parent_names) {
> +               kfree(data);
>                 return;
> +       }
>  
>         for (i = 0; i < num_parents; i++)
>                 parent_names[i] = of_clk_get_parent_name(node, i);
> -- 
> 1.9.1
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web