[PATCH v3 1/4] drm/mediatek: Remove freeing not dynamic allocated memory

CK Hu (胡俊光) ck.hu at mediatek.com
Sun Jul 9 21:01:18 PDT 2023


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 at mediatek.com>

> 
> Fixes: 7627122fd1c0 ("drm/mediatek: Add cmdq_handle in mtk_crtc")
> Signed-off-by: Jason-JH.Lin <jason-jh.lin at mediatek.com>
> Reviewed-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno at collabora.com>
> ---
>  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
>  


More information about the Linux-mediatek mailing list