lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 28 Nov 2016 19:25:05 +0100 From: Johan Hovold <johan@...nel.org> To: "David S. Miller" <davem@...emloft.net> Cc: Vince Bridgers <vbridger@...nsource.altera.com>, Florian Fainelli <f.fainelli@...il.com>, Fugang Duan <fugang.duan@....com>, Pantelis Antoniou <pantelis.antoniou@...il.com>, Vitaly Bordug <vbordug@...mvista.com>, Claudiu Manoil <claudiu.manoil@...escale.com>, Li Yang <leoli@...escale.com>, Thomas Petazzoni <thomas.petazzoni@...e-electrons.com>, Felix Fietkau <nbd@...nwrt.org>, John Crispin <blogic@...nwrt.org>, Matthias Brugger <matthias.bgg@...il.com>, Sergei Shtylyov <sergei.shtylyov@...entembedded.com>, Lars Persson <lars.persson@...s.com>, Mugunthan V N <mugunthanvnm@...com>, Grygorii Strashko <grygorii.strashko@...com>, Rob Herring <robh+dt@...nel.org>, Frank Rowand <frowand.list@...il.com>, Andrew Lunn <andrew@...n.ch>, Vivien Didelot <vivien.didelot@...oirfairelinux.com>, netdev@...r.kernel.org, nios2-dev@...ts.rocketboards.org, linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org, linux-mediatek@...ts.infradead.org, linux-renesas-soc@...r.kernel.org, linux-omap@...r.kernel.org, devicetree@...r.kernel.org, Johan Hovold <johan@...nel.org> Subject: [PATCH net 12/16] net: ethernet: mediatek: fix fixed-link phydev leaks Make sure to deregister and free any fixed-link PHY registered using of_phy_register_fixed_link() on initialisation errors and on uninit. Fixes: 0c72c50f6f93 ("net-next: mediatek: add fixed-phy support") Signed-off-by: Johan Hovold <johan@...nel.org> --- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c index 4a62ffd7729d..86a89cbd3ec9 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -318,6 +318,8 @@ static int mtk_phy_connect(struct net_device *dev) return 0; err_phy: + if (of_phy_is_fixed_link(mac->of_node)) + of_phy_deregister_fixed_link(mac->of_node); of_node_put(np); dev_err(eth->dev, "%s: invalid phy\n", __func__); return -EINVAL; @@ -1923,6 +1925,8 @@ static void mtk_uninit(struct net_device *dev) struct mtk_eth *eth = mac->hw; phy_disconnect(dev->phydev); + if (of_phy_is_fixed_link(mac->of_node)) + of_phy_deregister_fixed_link(mac->of_node); mtk_irq_disable(eth, MTK_QDMA_INT_MASK, ~0); mtk_irq_disable(eth, MTK_PDMA_INT_MASK, ~0); } -- 2.7.3
Powered by blists - more mailing lists