diff mbox series

PCI: endpoint fix misused goto label

Message ID 17e7b9b9ee6.c6d9c6a02564.4545388417402742326@zohomail.com (mailing list archive)
State Accepted
Delegated to: Lorenzo Pieralisi
Headers show
Series PCI: endpoint fix misused goto label | expand

Commit Message

Li Chen Jan. 21, 2022, 7:48 a.m. UTC
From: Li Chen <lchen@ambarella.com>

If we goto err_map_addr here, buf allocated
via kmalloc won't get freeed, then memoryleak.

Signed-off-by: Li Chen <lchen@ambarella.com>
---
 drivers/pci/endpoint/functions/pci-epf-test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Li Chen Feb. 8, 2022, 6:47 a.m. UTC | #1
ping

 ---- On Fri, 21 Jan 2022 02:48:23 -0500 Li Chen <lchen.firstlove@zohomail.com> wrote ----
 > From: Li Chen <lchen@ambarella.com>
 > 
 > If we goto err_map_addr here, buf allocated
 > via kmalloc won't get freeed, then memoryleak.
 > 
 > Signed-off-by: Li Chen <lchen@ambarella.com>
 > ---
 >  drivers/pci/endpoint/functions/pci-epf-test.c | 2 +-
 >  1 file changed, 1 insertion(+), 1 deletion(-)
 > 
 > diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
 > index 96489cfdf58db..60303223976a1 100644
 > --- a/drivers/pci/endpoint/functions/pci-epf-test.c
 > +++ b/drivers/pci/endpoint/functions/pci-epf-test.c
 > @@ -441,7 +441,7 @@ static int pci_epf_test_write(struct pci_epf_test *epf_test)
 >          if (!epf_test->dma_supported) {
 >              dev_err(dev, "Cannot transfer data using DMA\n");
 >              ret = -EINVAL;
 > -            goto err_map_addr;
 > +            goto err_dma_map;
 >          }
 >  
 >          src_phys_addr = dma_map_single(dma_dev, buf, reg->size,
 > -- 
 > 2.34.1
 > 
 > 
 >
Kishon Vijay Abraham I Feb. 8, 2022, 6:59 a.m. UTC | #2
On 21/01/22 1:18 pm, Li Chen wrote:
> From: Li Chen <lchen@ambarella.com>
> 
> If we goto err_map_addr here, buf allocated
> via kmalloc won't get freeed, then memoryleak.
> 
> Signed-off-by: Li Chen <lchen@ambarella.com>

Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
> ---
>  drivers/pci/endpoint/functions/pci-epf-test.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
> index 96489cfdf58db..60303223976a1 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-test.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-test.c
> @@ -441,7 +441,7 @@ static int pci_epf_test_write(struct pci_epf_test *epf_test)
>  		if (!epf_test->dma_supported) {
>  			dev_err(dev, "Cannot transfer data using DMA\n");
>  			ret = -EINVAL;
> -			goto err_map_addr;
> +			goto err_dma_map;
>  		}
>  
>  		src_phys_addr = dma_map_single(dma_dev, buf, reg->size,
>
diff mbox series

Patch

diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
index 96489cfdf58db..60303223976a1 100644
--- a/drivers/pci/endpoint/functions/pci-epf-test.c
+++ b/drivers/pci/endpoint/functions/pci-epf-test.c
@@ -441,7 +441,7 @@  static int pci_epf_test_write(struct pci_epf_test *epf_test)
 		if (!epf_test->dma_supported) {
 			dev_err(dev, "Cannot transfer data using DMA\n");
 			ret = -EINVAL;
-			goto err_map_addr;
+			goto err_dma_map;
 		}
 
 		src_phys_addr = dma_map_single(dma_dev, buf, reg->size,