Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

cxgb3: Fix potential msi-x vector leak

Release vectors when a MSI-X allocation fails.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Divy Le Ray and committed by
David S. Miller
2c2f409f c80b0c28

+6 -1
+6 -1
drivers/net/cxgb3/cxgb3_main.c
··· 2917 2917 while ((err = pci_enable_msix(adap->pdev, entries, vectors)) > 0) 2918 2918 vectors = err; 2919 2919 2920 - if (!err && vectors < (adap->params.nports + 1)) 2920 + if (err < 0) 2921 + pci_disable_msix(adap->pdev); 2922 + 2923 + if (!err && vectors < (adap->params.nports + 1)) { 2924 + pci_disable_msix(adap->pdev); 2921 2925 err = -1; 2926 + } 2922 2927 2923 2928 if (!err) { 2924 2929 for (i = 0; i < vectors; ++i)