Re: addrconf: refcnt with IPV6_PRIVACY enabled

From: Eric Dumazet
Date: Tue Nov 23 2010 - 10:09:10 EST


Le mardi 23 novembre 2010 Ã 16:53 +0200, Sergey Senozhatsky a Ãcrit :
>
> > ipv6_regen_rndid() is the timer handler function, it must call
> > in6_dev_put() at the end, unless we rearm the timer.
> >
> > So this code is correct.
> >
> >
> > if (!mod_timer(&idev->regen_timer, expires))
> > in6_dev_hold(idev);
> > ...
> > in6_dev_put(idev);
> >
>
> Even if in6_dev_hold hasn't been called from ipv6_regen_rndid?
>


Yes.

Rules are :

in6_dev_hold() when arming timer, so that device doesnt disappear while
timer handler might run and need it.

in6_dev_put() when timer handler finishes




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/