Browse Source

fib_frontend: fix possible NULL pointer dereference

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>
Oliver Hartkopp 11 years ago
parent
commit
a0065f266a
1 changed files with 2 additions and 0 deletions
  1. 2 0
      net/ipv4/fib_frontend.c

+ 2 - 0
net/ipv4/fib_frontend.c

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