Re: [PATCH v3 1/4] drm/mediatek: Remove freeing not dynamic allocated memory
From: CK Hu (胡俊光)
Date: Mon Jul 10 2023 - 00:02:38 EST
Hi, Jason:
On Wed, 2023-06-21 at 18:22 +0800, Jason-JH.Lin wrote:
> Fixing the coverity issue of:
> mtk_drm_cmdq_pkt_destroy frees address of mtk_crtc->cmdq_handle
>
> So remove the free function.
Reviewed-by: CK Hu <ck.hu@xxxxxxxxxxxx>
>
> Fixes: 7627122fd1c0 ("drm/mediatek: Add cmdq_handle in mtk_crtc")
> Signed-off-by: Jason-JH.Lin <jason-jh.lin@xxxxxxxxxxxx>
> Reviewed-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno@xxxxxxxxxxxxx>
> ---
> drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> index d40142842f85..8d44f3df116f 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> @@ -116,10 +116,9 @@ static int mtk_drm_cmdq_pkt_create(struct
> cmdq_client *client, struct cmdq_pkt *
> dma_addr_t dma_addr;
>
> pkt->va_base = kzalloc(size, GFP_KERNEL);
> - if (!pkt->va_base) {
> - kfree(pkt);
> + if (!pkt->va_base)
> return -ENOMEM;
> - }
> +
> pkt->buf_size = size;
> pkt->cl = (void *)client;
>
> @@ -129,7 +128,6 @@ static int mtk_drm_cmdq_pkt_create(struct
> cmdq_client *client, struct cmdq_pkt *
> if (dma_mapping_error(dev, dma_addr)) {
> dev_err(dev, "dma map failed, size=%u\n",
> (u32)(u64)size);
> kfree(pkt->va_base);
> - kfree(pkt);
> return -ENOMEM;
> }
>
> @@ -145,7 +143,6 @@ static void mtk_drm_cmdq_pkt_destroy(struct
> cmdq_pkt *pkt)
> dma_unmap_single(client->chan->mbox->dev, pkt->pa_base, pkt-
> >buf_size,
> DMA_TO_DEVICE);
> kfree(pkt->va_base);
> - kfree(pkt);
> }
> #endif
>