svn commit: r205637 - head/sys/netinet6
Bjoern A. Zeeb
bz at FreeBSD.org
Thu Mar 25 20:15:07 UTC 2010
On Thu, 25 Mar 2010, Rui Paulo wrote:
>
> On 25 Mar 2010, at 10:29, Bjoern A. Zeeb wrote:
>
>> Author: bz
>> Date: Thu Mar 25 10:29:00 2010
>> New Revision: 205637
>> URL: http://svn.freebsd.org/changeset/base/205637
>>
>> Log:
>> We are holding a write lock here so avoid aquiring it twice calling
>> the "locked" version rather than the wrapper function.
>>
>> MFC after: 6 days
>>
>> Modified:
>> head/sys/netinet6/nd6.c
>>
>> Modified: head/sys/netinet6/nd6.c
>> ==============================================================================
>> --- head/sys/netinet6/nd6.c Thu Mar 25 10:13:21 2010 (r205636)
>> +++ head/sys/netinet6/nd6.c Thu Mar 25 10:29:00 2010 (r205637)
>> @@ -1168,7 +1168,7 @@ nd6_nud_hint(struct rtentry *rt, struct
>
>
> This code is probably missing a:
> LLE_WLOCK_ASSERT(lle);
> at the beginning.
No, the lock is acquired in
ln = nd6_lookup(dst6, ND6_EXCLUSIVE, NULL);
calling into lla_lookup().. ending in in6_lltable_lookup()
and hold if the ln is not NULL.
>>
>> ln->ln_state = ND6_LLINFO_REACHABLE;
>> if (!ND6_LLINFO_PERMANENT(ln)) {
>> - nd6_llinfo_settimer(ln,
>> + nd6_llinfo_settimer_locked(ln,
>> (long)ND_IFINFO(rt->rt_ifp)->reachable * hz);
>> }
>> done:
>
> --
> Rui Paulo
>
--
Bjoern A. Zeeb It will not break if you know what you are doing.
More information about the svn-src-head
mailing list