diff mbox series

clk: zynqmp: Fix memory allocation in zynqmp_clk_setup

Message ID 20181224055058.GA23947@embeddedor.com (mailing list archive)
State Accepted, archived
Headers show
Series clk: zynqmp: Fix memory allocation in zynqmp_clk_setup | expand

Commit Message

Gustavo A. R. Silva Dec. 24, 2018, 5:50 a.m. UTC
Fix memory allocation and use struct_size() in kzalloc().

Fixes: 3fde0e16d016 ("drivers: clk: Add ZynqMP clock driver")
Cc: stable@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
 drivers/clk/zynqmp/clkc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Michal Simek Jan. 3, 2019, 11 a.m. UTC | #1
On 24. 12. 18 6:50, Gustavo A. R. Silva wrote:
> Fix memory allocation and use struct_size() in kzalloc().
> 
> Fixes: 3fde0e16d016 ("drivers: clk: Add ZynqMP clock driver")
> Cc: stable@vger.kernel.org
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> ---
>  drivers/clk/zynqmp/clkc.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/clk/zynqmp/clkc.c b/drivers/clk/zynqmp/clkc.c
> index f65cc0ff76ab..b0908ec62f73 100644
> --- a/drivers/clk/zynqmp/clkc.c
> +++ b/drivers/clk/zynqmp/clkc.c
> @@ -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;
>  
> 

Looks good. Description could be maybe more verbose that you are fixing
issue that it should be sizeof(struct clk_hw) instead of sizeof(struct
clk_hw_onecell_data)
Otherwise
Acked-by: Michal Simek <michal.simek@xilinx.com>

Thanks,
Michal
Stephen Boyd Jan. 9, 2019, 6:38 p.m. UTC | #2
Quoting Gustavo A. R. Silva (2018-12-23 21:50:58)
> Fix memory allocation and use struct_size() in kzalloc().
> 
> Fixes: 3fde0e16d016 ("drivers: clk: Add ZynqMP clock driver")
> Cc: stable@vger.kernel.org
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> ---

Applied to clk-fixes

And I added some words to commit text.
diff mbox series

Patch

diff --git a/drivers/clk/zynqmp/clkc.c b/drivers/clk/zynqmp/clkc.c
index f65cc0ff76ab..b0908ec62f73 100644
--- a/drivers/clk/zynqmp/clkc.c
+++ b/drivers/clk/zynqmp/clkc.c
@@ -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;