diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 34788a62c9c2f33cd68990c0e4d19a8c55078bc0..e7ff0f40867b4f90b2821ee241f5df75e26ba06e 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -546,6 +546,8 @@ static void rt6_probe(struct fib6_info *rt) rcu_read_lock_bh(); last_probe = READ_ONCE(rt->last_probe); idev = __in6_dev_get(dev); + if (!idev) + goto out; neigh = __ipv6_neigh_lookup_noref(dev, nh_gw); if (neigh) { if (neigh->nud_state & NUD_VALID)