Commit 4f340efc authored by Gustavo A. R. Silva's avatar Gustavo A. R. Silva Committed by Stephen Boyd
Browse files

clk: zynqmp: Fix memory allocation in zynqmp_clk_setup



Fix memory allocation and use struct_size() in kzalloc(). This also
fixes the allocation size to be correct, and smaller, because before we
were allocating a bunch of sizeof(struct clk_hw_onecell_data) structures
for each struct clk_hw we needed.

Fixes: 3fde0e16 ("drivers: clk: Add ZynqMP clock driver")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
Acked-by: default avatarMichal Simek <michal.simek@xilinx.com>
[sboyd@kernel.org: Expand commit text]
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent d39eca54
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -669,8 +669,8 @@ static int zynqmp_clk_setup(struct device_node *np)
	if (ret)
		return ret;

	zynqmp_data = kzalloc(sizeof(*zynqmp_data) + sizeof(*zynqmp_data) *
						clock_max_idx, GFP_KERNEL);
	zynqmp_data = kzalloc(struct_size(zynqmp_data, hws, clock_max_idx),
			      GFP_KERNEL);
	if (!zynqmp_data)
		return -ENOMEM;