| From foo@baz Tue Feb 4 09:14:01 PST 2014 |
| From: Oliver Hartkopp <socketcan@hartkopp.net> |
| Date: Thu, 23 Jan 2014 10:19:34 +0100 |
| Subject: fib_frontend: fix possible NULL pointer dereference |
| |
| From: Oliver Hartkopp <socketcan@hartkopp.net> |
| |
| [ Upstream commit a0065f266a9b5d51575535a25c15ccbeed9a9966 ] |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/ipv4/fib_frontend.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/net/ipv4/fib_frontend.c |
| +++ b/net/ipv4/fib_frontend.c |
| @@ -1049,6 +1049,8 @@ static int fib_netdev_event(struct notif |
| } |
| |
| in_dev = __in_dev_get_rtnl(dev); |
| + if (!in_dev) |
| + return NOTIFY_DONE; |
| |
| switch (event) { |
| case NETDEV_UP: |