2018-05-08 06:51:13

by Christophe JAILLET

[permalink] [raw]
Subject: [PATCH] net: aquantia: Fix an error handling path in 'aq_pci_probe()'

The position of 2 labels should be swapped in order to release resources
in the correct order and avoid leaks.

Fixes: 23ee07ad3c2f ("net: aquantia: Cleanup pci functions module")
Signed-off-by: Christophe JAILLET <[email protected]>
---
The order of 'pci_release_regions()' and 'free_netdev()' is in reverse
order in the 'aq_pci_remove()' function.
I don't know if done on purpose and/or needed, so I've left it as-is.
---
drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c
index ecc6306f940f..b7f6b5a68b33 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c
@@ -298,9 +298,9 @@ static int aq_pci_probe(struct pci_dev *pdev,
kfree(self->aq_hw);
err_ioremap:
free_netdev(ndev);
-err_pci_func:
- pci_release_regions(pdev);
err_ndev:
+ pci_release_regions(pdev);
+err_pci_func:
pci_disable_device(pdev);
return err;
}
--
2.17.0



2018-05-08 07:21:39

by Igor Russkikh

[permalink] [raw]
Subject: Re: [PATCH] net: aquantia: Fix an error handling path in 'aq_pci_probe()'

Hi Christophe,

On 08.05.2018 09:39, Christophe JAILLET wrote:
> The position of 2 labels should be swapped in order to release resources
> in the correct order and avoid leaks.
>

> kfree(self->aq_hw);
> err_ioremap:
> free_netdev(ndev);
> -err_pci_func:
> - pci_release_regions(pdev);
> err_ndev:
> + pci_release_regions(pdev);
> +err_pci_func:
> pci_disable_device(pdev);
> return err;
> }
>

This was just submitted yesterday and is already accepted in netdev by David:

http://patchwork.ozlabs.org/patch/909746/

Thanks!

BR, Igor

2018-05-10 14:40:34

by Christophe JAILLET

[permalink] [raw]
Subject: Re: [PATCH] net: aquantia: Fix an error handling path in 'aq_pci_probe()'

Le 08/05/2018 à 09:19, Igor Russkikh a écrit :
>
> This was just submitted yesterday and is already accepted in netdev by David:
>
> http://patchwork.ozlabs.org/patch/909746/
>
> Thanks!
>
> BR, Igor
>
Patch timing is sometimes surprising!

Not sure at all if it can be an issue, but I also noted that the order
of 'pci_release_regions()' and 'free_netdev()' is in reverse
order in the 'aq_pci_remove()' function.
I don't know if done on purpose and/or needed, so I've left it as-is.

CJ


2018-05-10 15:26:26

by Igor Russkikh

[permalink] [raw]
Subject: Re: [PATCH] net: aquantia: Fix an error handling path in 'aq_pci_probe()'


> Patch timing is sometimes surprising!

Indeed it.

>
> Not sure at all if it can be an issue, but I also noted that the order of 'pci_release_regions()' and 'free_netdev()' is in reverse
> order in the 'aq_pci_remove()' function.
> I don't know if done on purpose and/or needed, so I've left it as-is.

I think the order is not important here, so believe thats merely a cosmetics.

BR, Igor