Re: [PATCH] mmc: owl-mmc: Fix dma_chan refcnt leak in owl_mmc_probe()

From: Markus Elfring
Date: Sat Apr 25 2020 - 15:30:49 EST


> Fix this issue by jumping to "err_put_dma" label when those error
> scenarios occur.

I suggest to reconsider your jump target selection.


â
> +++ b/drivers/mmc/host/owl-mmc.c
â
> @@ -643,19 +643,22 @@ static int owl_mmc_probe(struct platform_device *pdev)
> return 0;
>
> +err_put_dma:
> + if (owl_host->dma)
> + dma_release_channel(owl_host->dma);

I interpret the source code in the way that you would like to call
this function for the desired exception handling only after a call
of the function âdma_request_chanâ succeeded.
Thus I would expect that the passed pointer will usually be still valid.
(Can the proposed null pointer check be omitted then?)

How do you think about the following change possibility?

+err_release_channel:
+ dma_release_channel(owl_host->dma);


Would you like to add the tag âFixesâ to the change description?

Regards,
Markus