net: phy: possible NULL dereference in fixed_phy_create()
We check if phydev is NULL. Only but if it is non-NULL we set one
component of phydev. But even if it is NULL we set another. We should not
dereference NULL in either case.
Fixes: e24b58f5ed4f ("net: phy: don't require PHY interface mode during PHY creation")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Marek BehĂșn <kabel@kernel.org>
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index e6e1755..0350afd 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -984,10 +984,10 @@
}
phydev = phy_device_create(NULL, 0, PHY_FIXED_ID, false);
- if (phydev)
+ if (phydev) {
phydev->node = subnode;
-
- phydev->interface = ofnode_read_phy_mode(node);
+ phydev->interface = ofnode_read_phy_mode(node);
+ }
return phydev;
}