Re: [PATCH 1/1] dmaengine:jz4740:fix memory leak

From: Lars-Peter Clausen
Date: Wed Apr 04 2018 - 08:45:18 EST


On 04/04/2018 05:21 AM, Xidong Wang wrote:
> In function jz4740_dma_probe(), the memory allocated by
> clk_get() is not released on the error path that ret, which holds
> the return value of dma_async_device_register(), is not NULL.
> This will result in a memory leak bug.
>
> Signed-off-by: Xidong Wang <wangxidong_97@xxxxxxx>

Maybe use devm_clk_get() since the same clk_put() call is missing in the
remove callback.

> ---
> drivers/dma/dma-jz4740.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/dma/dma-jz4740.c b/drivers/dma/dma-jz4740.c
> index afd5e10..082c158 100644
> --- a/drivers/dma/dma-jz4740.c
> +++ b/drivers/dma/dma-jz4740.c
> @@ -570,6 +570,7 @@ static int jz4740_dma_probe(struct platform_device *pdev)
> dma_async_device_unregister(dd);
> err_clk:
> clk_disable_unprepare(dmadev->clk);
> + clk_put(dmadev->clk);
> return ret;
> }
>
>