]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: libwx: fix memory leak on msix entry
authorJiawen Wu <jiawenwu@trustnetic.com>
Tue, 28 Nov 2023 09:59:28 +0000 (17:59 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 30 Nov 2023 04:13:03 +0000 (20:13 -0800)
Since pci_free_irq_vectors() set pdev->msix_enabled as 0 in the
calling of pci_msix_shutdown(), wx->msix_entries is never freed.
Reordering the lines to fix the memory leak.

Cc: stable@vger.kernel.org
Fixes: 3f703186113f ("net: libwx: Add irq flow functions")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Link: https://lore.kernel.org/r/20231128095928.1083292-1-jiawenwu@trustnetic.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/wangxun/libwx/wx_lib.c

index 2823861e5a92f5af26318e8bcacc6aacb43073f4..a5a50b5a8816847fed40728dc85b3339dd62b3b3 100644 (file)
@@ -1972,11 +1972,11 @@ void wx_reset_interrupt_capability(struct wx *wx)
        if (!pdev->msi_enabled && !pdev->msix_enabled)
                return;
 
-       pci_free_irq_vectors(wx->pdev);
        if (pdev->msix_enabled) {
                kfree(wx->msix_entries);
                wx->msix_entries = NULL;
        }
+       pci_free_irq_vectors(wx->pdev);
 }
 EXPORT_SYMBOL(wx_reset_interrupt_capability);