Message ID | 20180508063947.11317-1-christophe.jaillet@wanadoo.fr |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
Series | net: aquantia: Fix an error handling path in 'aq_pci_probe()' | expand |
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
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
> 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
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; }
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 <christophe.jaillet@wanadoo.fr> --- 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(-)