diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 213fc4f9b265..011a4c710c94 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2692,7 +2692,7 @@ static void init_loopback(struct net_device *dev) * lo device down, release this obsolete dst and * reallocate a new router for ifa. */ - if (sp_ifa->rt->dst.obsolete > 0) { + if (!atomic_read(&sp_ifa->rt->rt6i_ref)) { ip6_rt_put(sp_ifa->rt); sp_ifa->rt = NULL; } else {