Message ID | 20220328220350.3118969-1-michael@walle.cc (mailing list archive) |
---|---|
State | Accepted |
Commit | ad7da1ce5749c0eb4f09dd7e5510123be56f10fb |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v2,net] net: lan966x: fix kernel oops on ioctl when I/F is down | expand |
On Tue, Mar 29, 2022 at 12:03:50AM +0200, Michael Walle wrote: > ioctls handled by phy_mii_ioctl() will cause a kernel oops when the > interface is down. Fix it by making sure there is a PHY attached. > > Fixes: 735fec995b21 ("net: lan966x: Implement SIOCSHWTSTAMP and SIOCGHWTSTAMP") > Signed-off-by: Michael Walle <michael@walle.cc> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
Hello: This patch was applied to netdev/net.git (master) by Paolo Abeni <pabeni@redhat.com>: On Tue, 29 Mar 2022 00:03:50 +0200 you wrote: > ioctls handled by phy_mii_ioctl() will cause a kernel oops when the > interface is down. Fix it by making sure there is a PHY attached. > > Fixes: 735fec995b21 ("net: lan966x: Implement SIOCSHWTSTAMP and SIOCGHWTSTAMP") > Signed-off-by: Michael Walle <michael@walle.cc> > --- > changes since v1: > - reword commit message > - test for the presence of phydev instead of the interface state > - move the test just before phy_mii_ioctl() > > [...] Here is the summary with links: - [v2,net] net: lan966x: fix kernel oops on ioctl when I/F is down https://git.kernel.org/netdev/net/c/ad7da1ce5749 You are awesome, thank you!
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c index ec42e526f6fb..1759b0e2b56f 100644 --- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c @@ -408,6 +408,9 @@ static int lan966x_port_ioctl(struct net_device *dev, struct ifreq *ifr, } } + if (!dev->phydev) + return -ENODEV; + return phy_mii_ioctl(dev->phydev, ifr, cmd); }
ioctls handled by phy_mii_ioctl() will cause a kernel oops when the interface is down. Fix it by making sure there is a PHY attached. Fixes: 735fec995b21 ("net: lan966x: Implement SIOCSHWTSTAMP and SIOCGHWTSTAMP") Signed-off-by: Michael Walle <michael@walle.cc> --- changes since v1: - reword commit message - test for the presence of phydev instead of the interface state - move the test just before phy_mii_ioctl() drivers/net/ethernet/microchip/lan966x/lan966x_main.c | 3 +++ 1 file changed, 3 insertions(+)