Re: [PATCH] clk: gpio: handle error codes for of_clk_get_parent_count()

From: Michael Turquette
Date: Fri Jan 01 2016 - 00:57:17 EST


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@xxxxxxxxx>
> Cc: Jyri Sarha <jsarha@xxxxxx>
> Cc: Sergej Sawazki <ce3a@xxxxxx>
> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>

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