Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0b2e7886 authored by Brian Norris's avatar Brian Norris Committed by Michael Turquette
Browse files

clk: gpio: handle error codes for of_clk_get_parent_count()



We might make bad memory allocations if we get (e.g.) -ENOSYS from
of_clk_get_parent_count().

Noticed by Coverity.

Fixes: f66541ba ("clk: gpio: Get parent clk names in of_gpio_clk_setup()")
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
Cc: Jyri Sarha <jsarha@ti.com>
Cc: Sergej Sawazki <ce3a@gmx.de>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
parent c76eb11c
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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);