From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeffrey Hugo Subject: Re: [PATCH] drm/msm: Fix incorrect struct size for memory allocation Date: Thu, 21 Feb 2019 15:08:15 -0700 Message-ID: <8100608f-0f8b-7f67-bfa1-9f6c4de03fec@codeaurora.org> References: <1550786069-18328-1-git-send-email-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1550786069-18328-1-git-send-email-jcrouse@codeaurora.org> Content-Language: en-US Sender: stable-owner@vger.kernel.org To: Jordan Crouse , freedreno@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, stable@vger.kernel.org, Sean Paul , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Rob Clark , David Airlie , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org 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@vger.kernel.org > Fixes: 8e54eea ("drm/msm: Add a helper function to parse clock names") > Signed-off-by: Jordan Crouse > --- > > 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.