[PATCH] drm/msm: Fix incorrect struct size for memory allocation

Jeffrey Hugo jhugo at codeaurora.org
Thu Feb 21 22:08:15 UTC 2019


On 2/21/2019 2:54 PM, Jordan Crouse wrote:
> The allocation for the clock bulk data does a classic sizeof(pointer)
> instead of sizeof(struct) so the array ends up incorrectly sized
> for the clock data.
> 
> Cc: stable at vger.kernel.org
> Fixes: 8e54eea ("drm/msm: Add a helper function to parse clock names")
> Signed-off-by: Jordan Crouse <jcrouse at codeaurora.org>
> ---
> 
>   drivers/gpu/drm/msm/msm_drv.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
> index 906b2bb..31e1481 100644
> --- a/drivers/gpu/drm/msm/msm_drv.c
> +++ b/drivers/gpu/drm/msm/msm_drv.c
> @@ -96,7 +96,7 @@ int msm_clk_bulk_get(struct device *dev, struct clk_bulk_data **bulk)
>   	if (count < 1)
>   		return 0;
>   
> -	local = devm_kcalloc(dev, sizeof(struct clk_bulk_data *),
> +	local = devm_kcalloc(dev, sizeof(struct clk_bulk_data),
>   		count, GFP_KERNEL);
>   	if (!local)
>   		return -ENOMEM;
> 

Isn't msm_clk_bulk_get a duplication of devm_clk_bulk_get_all() ? 
Surely it would be better to just use that instead?

-- 
Jeffrey Hugo
Qualcomm Datacenter Technologies as an affiliate of Qualcomm 
Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.


More information about the dri-devel mailing list