octeontx2-af: Fix a resource leak in an error handling path in 'cgx_probe()'
diff mbox series

Message ID 20181229164222.15791-1-christophe.jaillet@wanadoo.fr
State Accepted
Commit 1492623e837fe7ca6296f7f5411328307e242771
Headers show
Series
  • octeontx2-af: Fix a resource leak in an error handling path in 'cgx_probe()'
Related show

Commit Message

Christophe JAILLET Dec. 29, 2018, 4:42 p.m. UTC
If an error occurs after the call to 'pci_alloc_irq_vectors()', we must
call 'pci_free_irq_vectors()' in order to avoid a	resource leak.

The same sequence is already in place in the corresponding 'cgx_remove()'
function.

Fixes: 1463f382f58d ("octeontx2-af: Add support for CGX link management")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/net/ethernet/marvell/octeontx2/af/cgx.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

David Miller Jan. 4, 2019, 8:46 p.m. UTC | #1
From: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Date: Sat, 29 Dec 2018 17:42:22 +0100

> If an error occurs after the call to 'pci_alloc_irq_vectors()', we must
> call 'pci_free_irq_vectors()' in order to avoid a	resource leak.
> 
> The same sequence is already in place in the corresponding 'cgx_remove()'
> function.
> 
> Fixes: 1463f382f58d ("octeontx2-af: Add support for CGX link management")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

Applied and queued up for -stable.

Please fix the date and time on your computer, putting improper dates into
the email headers of your patch postings makes your patch appear out
of order in my patchwork queue.

Thank you.
Christophe JAILLET Jan. 4, 2019, 10:05 p.m. UTC | #2
Le 04/01/2019 à 21:46, David Miller a écrit :
> From: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> Date: Sat, 29 Dec 2018 17:42:22 +0100
>
>> If an error occurs after the call to 'pci_alloc_irq_vectors()', we must
>> call 'pci_free_irq_vectors()' in order to avoid a	resource leak.
>>
>> The same sequence is already in place in the corresponding 'cgx_remove()'
>> function.
>>
>> Fixes: 1463f382f58d ("octeontx2-af: Add support for CGX link management")
>> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> Applied and queued up for -stable.
>
> Please fix the date and time on your computer, putting improper dates into
> the email headers of your patch postings makes your patch appear out
> of order in my patchwork queue.
>
> Thank you.
>
Hi,

yes, I've spotted this time issue.
For some reason my VM get out of synch when restored from a saved state.
It was not the case before. It is likely due to an update of VirtualBox 
(i.e. 5.x --> 6.0) performed a few days ago.
Will try to give it a look.

For now, I have to manually do some ntpdate to get the time/date 
fixed... until the next save/restore of the VM.

Sorry for the inconvenience.

CJ

Patch
diff mbox series

diff --git a/drivers/net/ethernet/marvell/octeontx2/af/cgx.c b/drivers/net/ethernet/marvell/octeontx2/af/cgx.c
index 742f0c1f60df..6d55e3d0b7ea 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/cgx.c
+++ b/drivers/net/ethernet/marvell/octeontx2/af/cgx.c
@@ -825,7 +825,7 @@  static int cgx_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	if (!cgx->cgx_cmd_workq) {
 		dev_err(dev, "alloc workqueue failed for cgx cmd");
 		err = -ENOMEM;
-		goto err_release_regions;
+		goto err_free_irq_vectors;
 	}
 
 	list_add(&cgx->cgx_list, &cgx_list);
@@ -841,6 +841,8 @@  static int cgx_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 err_release_lmac:
 	cgx_lmac_exit(cgx);
 	list_del(&cgx->cgx_list);
+err_free_irq_vectors:
+	pci_free_irq_vectors(pdev);
 err_release_regions:
 	pci_release_regions(pdev);
 err_disable_device: