fib_frontend: fix possible NULL pointer dereference
authorOliver Hartkopp <socketcan@hartkopp.net>
Thu, 23 Jan 2014 09:19:34 +0000 (10:19 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Jan 2014 23:51:26 +0000 (15:51 -0800)
The two commits 0115e8e30d (net: remove delay at device dismantle) and
748e2d9396a (net: reinstate rtnl in call_netdevice_notifiers()) silently
removed a NULL pointer check for in_dev since Linux 3.7.

This patch re-introduces this check as it causes crashing the kernel when
setting small mtu values on non-ip capable netdevices.

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/fib_frontend.c

index d846304b7b89d619d53609c5e435b3ddcc3e2d84..c7539e22868b37d59018730aca786176df5408ee 100644 (file)
@@ -1047,6 +1047,8 @@ static int fib_netdev_event(struct notifier_block *this, unsigned long event, vo
        }
 
        in_dev = __in_dev_get_rtnl(dev);
+       if (!in_dev)
+               return NOTIFY_DONE;
 
        switch (event) {
        case NETDEV_UP: