mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
net: pasemi: fix an use-after-free in pasemi_mac_phy_init()
[ Upstream commitfaf5577f24] The phy_dn variable is still being used in of_phy_connect() after the of_node_put() call, which may result in use-after-free. Fixes:1dd2d06c04("net: Rework pasemi_mac driver to use of_mdio infrastructure") Signed-off-by: Wen Yang <wen.yang99@zte.com.cn> Cc: "David S. Miller" <davem@davemloft.net> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Luis Chamberlain <mcgrof@kernel.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f053b46728
commit
f9153eed0f
@@ -1053,7 +1053,6 @@ static int pasemi_mac_phy_init(struct net_device *dev)
|
||||
|
||||
dn = pci_device_to_OF_node(mac->pdev);
|
||||
phy_dn = of_parse_phandle(dn, "phy-handle", 0);
|
||||
of_node_put(phy_dn);
|
||||
|
||||
mac->link = 0;
|
||||
mac->speed = 0;
|
||||
@@ -1062,6 +1061,7 @@ static int pasemi_mac_phy_init(struct net_device *dev)
|
||||
phydev = of_phy_connect(dev, phy_dn, &pasemi_adjust_link, 0,
|
||||
PHY_INTERFACE_MODE_SGMII);
|
||||
|
||||
of_node_put(phy_dn);
|
||||
if (!phydev) {
|
||||
printk(KERN_ERR "%s: Could not attach to phy\n", dev->name);
|
||||
return -ENODEV;
|
||||
|
||||
Reference in New Issue
Block a user