Messages in this thread | | | Subject | Re: addrconf: refcnt with IPV6_PRIVACY enabled | From | Eric Dumazet <> | Date | Tue, 23 Nov 2010 16:08:57 +0100 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |