diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 236a45557ba1858f70d95300b8a9239026ecda61..eea970f0a5e8f6856dcb6673a2b35970ad3c2529 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -637,6 +637,8 @@ static void rt6_probe(struct fib6_nh *fib6_nh) rcu_read_lock(); last_probe = READ_ONCE(fib6_nh->last_probe); idev = __in6_dev_get(dev); + if (!idev) + goto out; neigh = __ipv6_neigh_lookup_noref(dev, nh_gw); if (neigh) { if (READ_ONCE(neigh->nud_state) & NUD_VALID)