diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c index 493cd382b8aa0f187fcaf1dc520da765f9595fe0..01711e6e9a394ed8ba9feab4a5f45dc11ea97580 100644 --- a/drivers/net/geneve.c +++ b/drivers/net/geneve.c @@ -1406,9 +1406,13 @@ static void geneve_link_config(struct net_device *dev, } #if IS_ENABLED(CONFIG_IPV6) case AF_INET6: { - struct rt6_info *rt = rt6_lookup(geneve->net, - &info->key.u.ipv6.dst, NULL, 0, - NULL, 0); + struct rt6_info *rt; + + if (!__in6_dev_get(dev)) + break; + + rt = rt6_lookup(geneve->net, &info->key.u.ipv6.dst, NULL, 0, + NULL, 0); if (rt && rt->dst.dev) ldev_mtu = rt->dst.dev->mtu - GENEVE_IPV6_HLEN;