diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index d805241e439cf960c5233e801db26412069e77d5..2a6439e3c91c432eb787fbf8ccf010fdfef00d7e 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2782,6 +2782,9 @@ static void addrconf_verify(unsigned long foo) in6_ifa_hold(ifpub); spin_unlock(&ifp->lock); read_unlock(&addrconf_hash_lock); + spin_lock(&ifpub->lock); + ifpub->regen_count = 0; + spin_unlock(&ifpub->lock); ipv6_create_tempaddr(ifpub, ifp); in6_ifa_put(ifpub); in6_ifa_put(ifp);