* [PATCH] clk: gpio: fix memory leak in of_gpio_clk_setup()
@ 2015-12-16 18:28 Brian Norris
2015-12-16 18:35 ` [PATCH] clk: gpio: handle error codes for of_clk_get_parent_count() Brian Norris
2016-01-01 5:56 ` [PATCH] clk: gpio: fix memory leak in of_gpio_clk_setup() Michael Turquette
0 siblings, 2 replies; 4+ messages in thread
From: Brian Norris @ 2015-12-16 18:28 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd
Cc: linux-clk, linux-kernel, Brian Norris, Jyri Sarha, Sergej Sawazki
Reported by Coverity.
Fixes: f66541ba02d5 ("clk: gpio: Get parent clk names in of_gpio_clk_setup()")
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Cc: Jyri Sarha <jsarha@ti.com>
Cc: Sergej Sawazki <ce3a@gmx.de>
Cc: Stephen Boyd <sboyd@codeaurora.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 335322dc403f..c1baa89cbf91 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);
--
2.6.0.rc2.230.g3dd15c0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH] clk: gpio: handle error codes for of_clk_get_parent_count()
2015-12-16 18:28 [PATCH] clk: gpio: fix memory leak in of_gpio_clk_setup() Brian Norris
@ 2015-12-16 18:35 ` Brian Norris
2016-01-01 5:57 ` Michael Turquette
2016-01-01 5:56 ` [PATCH] clk: gpio: fix memory leak in of_gpio_clk_setup() Michael Turquette
1 sibling, 1 reply; 4+ messages in thread
From: Brian Norris @ 2015-12-16 18:35 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd
Cc: linux-clk, linux-kernel, Brian Norris, Jyri Sarha, Sergej Sawazki
We might make bad memory allocations if we get (e.g.) -ENOSYS from
of_clk_get_parent_count().
Noticed by Coverity.
Fixes: f66541ba02d5 ("clk: gpio: Get parent clk names in of_gpio_clk_setup()")
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Cc: Jyri Sarha <jsarha@ti.com>
Cc: Sergej Sawazki <ce3a@gmx.de>
Cc: Stephen Boyd <sboyd@codeaurora.org>
---
Sorry, I noticed Coverity was complaining about 1 more.
drivers/clk/clk-gpio.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/clk/clk-gpio.c b/drivers/clk/clk-gpio.c
index c1baa89cbf91..1767b9e3ca93 100644
--- a/drivers/clk/clk-gpio.c
+++ b/drivers/clk/clk-gpio.c
@@ -287,12 +287,14 @@ static void __init of_gpio_clk_setup(struct device_node *node,
const char **parent_names;
int i, num_parents;
+ num_parents = of_clk_get_parent_count(node);
+ if (num_parents < 0)
+ return;
+
data = kzalloc(sizeof(*data), GFP_KERNEL);
if (!data)
return;
- num_parents = of_clk_get_parent_count(node);
-
parent_names = kcalloc(num_parents, sizeof(char *), GFP_KERNEL);
if (!parent_names) {
kfree(data);
--
2.6.0.rc2.230.g3dd15c0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] clk: gpio: fix memory leak in of_gpio_clk_setup()
2015-12-16 18:28 [PATCH] clk: gpio: fix memory leak in of_gpio_clk_setup() Brian Norris
2015-12-16 18:35 ` [PATCH] clk: gpio: handle error codes for of_clk_get_parent_count() Brian Norris
@ 2016-01-01 5:56 ` Michael Turquette
1 sibling, 0 replies; 4+ messages in thread
From: Michael Turquette @ 2016-01-01 5:56 UTC (permalink / raw)
To: Brian Norris, Stephen Boyd
Cc: linux-clk, linux-kernel, Brian Norris, Jyri Sarha, Sergej Sawazki
Quoting Brian Norris (2015-12-16 10:28:31)
> Reported by Coverity.
>
> Fixes: f66541ba02d5 ("clk: gpio: Get parent clk names in of_gpio_clk_setup()")
> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> Cc: Jyri Sarha <jsarha@ti.com>
> Cc: Sergej Sawazki <ce3a@gmx.de>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
Thanks for the fix. I already applied this one:
http://lkml.kernel.org/r/<1450852439-366-1-git-send-email-sudipm.mukherjee@gmail.com>
Regards,
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 335322dc403f..c1baa89cbf91 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);
> --
> 2.6.0.rc2.230.g3dd15c0
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] clk: gpio: handle error codes for of_clk_get_parent_count()
2015-12-16 18:35 ` [PATCH] clk: gpio: handle error codes for of_clk_get_parent_count() Brian Norris
@ 2016-01-01 5:57 ` Michael Turquette
0 siblings, 0 replies; 4+ messages in thread
From: Michael Turquette @ 2016-01-01 5:57 UTC (permalink / raw)
To: Brian Norris, Stephen Boyd
Cc: linux-clk, linux-kernel, Brian Norris, Jyri Sarha, Sergej Sawazki
Quoting Brian Norris (2015-12-16 10:35:03)
> We might make bad memory allocations if we get (e.g.) -ENOSYS from
> of_clk_get_parent_count().
>
> Noticed by Coverity.
>
> Fixes: f66541ba02d5 ("clk: gpio: Get parent clk names in of_gpio_clk_setup()")
> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
> Cc: Jyri Sarha <jsarha@ti.com>
> Cc: Sergej Sawazki <ce3a@gmx.de>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
Thanks for the fix. Applied.
Regards,
Mike
> ---
> Sorry, I noticed Coverity was complaining about 1 more.
>
> drivers/clk/clk-gpio.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/clk/clk-gpio.c b/drivers/clk/clk-gpio.c
> index c1baa89cbf91..1767b9e3ca93 100644
> --- a/drivers/clk/clk-gpio.c
> +++ b/drivers/clk/clk-gpio.c
> @@ -287,12 +287,14 @@ static void __init of_gpio_clk_setup(struct device_node *node,
> const char **parent_names;
> int i, num_parents;
>
> + num_parents = of_clk_get_parent_count(node);
> + if (num_parents < 0)
> + return;
> +
> data = kzalloc(sizeof(*data), GFP_KERNEL);
> if (!data)
> return;
>
> - num_parents = of_clk_get_parent_count(node);
> -
> parent_names = kcalloc(num_parents, sizeof(char *), GFP_KERNEL);
> if (!parent_names) {
> kfree(data);
> --
> 2.6.0.rc2.230.g3dd15c0
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-01-01 5:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-16 18:28 [PATCH] clk: gpio: fix memory leak in of_gpio_clk_setup() Brian Norris
2015-12-16 18:35 ` [PATCH] clk: gpio: handle error codes for of_clk_get_parent_count() Brian Norris
2016-01-01 5:57 ` Michael Turquette
2016-01-01 5:56 ` [PATCH] clk: gpio: fix memory leak in of_gpio_clk_setup() Michael Turquette
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).