Messages in this thread Patch in this message | | | From | Michael Walle <> | Subject | [PATCH net] net: lan966x: fix kernel oops on ioctl when I/F is down | Date | Sat, 26 Mar 2022 01:02:51 +0100 |
| |
A SIOCGMIIPHY ioctl will cause a kernel oops when the interface is down. Fix it by checking the state and if it's no running, return an error.
Fixes: 735fec995b21 ("net: lan966x: Implement SIOCSHWTSTAMP and SIOCGHWTSTAMP") Signed-off-by: Michael Walle <michael@walle.cc> --- drivers/net/ethernet/microchip/lan966x/lan966x_main.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c index ec42e526f6fb..0adf49d19142 100644 --- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c @@ -399,6 +399,9 @@ static int lan966x_port_ioctl(struct net_device *dev, struct ifreq *ifr, { struct lan966x_port *port = netdev_priv(dev); + if (!netif_running(dev)) + return -EINVAL; + if (!phy_has_hwtstamp(dev->phydev) && port->lan966x->ptp) { switch (cmd) { case SIOCSHWTSTAMP: -- 2.30.2
| |