Message ID | 20231128095928.1083292-1-jiawenwu@trustnetic.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 91fdb30ddfdb651509914d3ed0a0302712540fed |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] net: libwx: fix memory leak on msix entry | expand |
Cc: stable@vger.kernel.org > -----Original Message----- > From: Jiawen Wu <jiawenwu@trustnetic.com> > Sent: Tuesday, November 28, 2023 5:59 PM > To: netdev@vger.kernel.org; edumazet@google.com; davem@davemloft.net; kuba@kernel.org; pabeni@redhat.com > Cc: mengyuanlou@net-swift.com; Jiawen Wu <jiawenwu@trustnetic.com> > Subject: [PATCH net] net: libwx: fix memory leak on msix entry > > 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. > > Fixes: 3f703186113f ("net: libwx: Add irq flow functions") > Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com> > --- > drivers/net/ethernet/wangxun/libwx/wx_lib.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/wangxun/libwx/wx_lib.c b/drivers/net/ethernet/wangxun/libwx/wx_lib.c > index 2823861e5a92..a5a50b5a8816 100644 > --- a/drivers/net/ethernet/wangxun/libwx/wx_lib.c > +++ b/drivers/net/ethernet/wangxun/libwx/wx_lib.c > @@ -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); > > -- > 2.27.0 >
On Tue, Nov 28, 2023 at 3:35 PM Jiawen Wu <jiawenwu@trustnetic.com> wrote: > 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. > > Fixes: 3f703186113f ("net: libwx: Add irq flow functions") > Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com> > --- > drivers/net/ethernet/wangxun/libwx/wx_lib.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > Looks good to me. Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> > > diff --git a/drivers/net/ethernet/wangxun/libwx/wx_lib.c > b/drivers/net/ethernet/wangxun/libwx/wx_lib.c > index 2823861e5a92..a5a50b5a8816 100644 > --- a/drivers/net/ethernet/wangxun/libwx/wx_lib.c > +++ b/drivers/net/ethernet/wangxun/libwx/wx_lib.c > @@ -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); > > -- > 2.27.0 > > >
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Tue, 28 Nov 2023 17:59:28 +0800 you wrote: > 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. > > Fixes: 3f703186113f ("net: libwx: Add irq flow functions") > Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com> > > [...] Here is the summary with links: - [net] net: libwx: fix memory leak on msix entry https://git.kernel.org/netdev/net/c/91fdb30ddfdb You are awesome, thank you!
diff --git a/drivers/net/ethernet/wangxun/libwx/wx_lib.c b/drivers/net/ethernet/wangxun/libwx/wx_lib.c index 2823861e5a92..a5a50b5a8816 100644 --- a/drivers/net/ethernet/wangxun/libwx/wx_lib.c +++ b/drivers/net/ethernet/wangxun/libwx/wx_lib.c @@ -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);
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. Fixes: 3f703186113f ("net: libwx: Add irq flow functions") Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com> --- drivers/net/ethernet/wangxun/libwx/wx_lib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)