Message ID | 20210216101628.2818524-1-olteanv@gmail.com |
---|---|
State | New |
Headers | show |
Series | [net] net: enetc: fix destroyed phylink dereference during unbind | expand |
Hello: This patch was applied to netdev/net.git (refs/heads/master): On Tue, 16 Feb 2021 12:16:28 +0200 you wrote: > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > The following call path suggests that calling unregister_netdev on an > interface that is up will first bring it down. > > enetc_pf_remove > -> unregister_netdev > -> unregister_netdevice_queue > -> unregister_netdevice_many > -> dev_close_many > -> __dev_close_many > -> enetc_close > -> enetc_stop > -> phylink_stop > > [...] Here is the summary with links: - [net] net: enetc: fix destroyed phylink dereference during unbind https://git.kernel.org/netdev/net/c/3af409ca278d You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.c b/drivers/net/ethernet/freescale/enetc/enetc_pf.c index 3eb5f1375bd4..515c5b29d7aa 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -1157,14 +1157,15 @@ static void enetc_pf_remove(struct pci_dev *pdev) struct enetc_ndev_priv *priv; priv = netdev_priv(si->ndev); - enetc_phylink_destroy(priv); - enetc_mdiobus_destroy(pf); if (pf->num_vfs) enetc_sriov_configure(pdev, 0); unregister_netdev(si->ndev); + enetc_phylink_destroy(priv); + enetc_mdiobus_destroy(pf); + enetc_free_msix(priv); enetc_free_si_resources(priv);