Re: [PATCH] staging: comedi: drivers: Fix memory leak in gsc_hpdi_auto_attach

From: Markus Elfring
Date: Sun Dec 15 2019 - 10:07:31 EST


> In the implementation of gsc_hpdi_auto_attach(), the allocated dma
> description is leaks in case of alignment error, â

Please avoid a typo in this change message.


â
+++ b/drivers/staging/comedi/drivers/gsc_hpdi.c
â
> @@ -660,6 +661,15 @@ static int gsc_hpdi_auto_attach(struct comedi_device *dev,
> s->cancel = gsc_hpdi_cancel;
>
> return gsc_hpdi_init(dev);
> +
> +release_dma_desc:
> + if (devpriv->dma_desc)
> + dma_free_coherent(&pcidev->dev,
> + sizeof(struct plx_dma_desc) *
> + NUM_DMA_DESCRIPTORS,
> + devpriv->dma_desc,
> + devpriv->dma_desc_phys_addr);
> + return retval;
> }
>
> static void gsc_hpdi_detach(struct comedi_device *dev)

I got the impression that return values from calls of the function âdma_alloc_coherentâ
should be checked before.
* Would you like to add null pointer checks at other source code places?
* Should the jump targets be accordingly adjusted then for the completion
of the desired exception handling?

Regards,
Markus