svn commit: r185841 - projects/arpv2_merge_1/sys/netinet
Kip Macy
kmacy at FreeBSD.org
Tue Dec 9 23:45:11 PST 2008
Author: kmacy
Date: Wed Dec 10 07:45:11 2008
New Revision: 185841
URL: http://svn.freebsd.org/changeset/base/185841
Log:
we might be renewing the lookup without la_hold set
Modified:
projects/arpv2_merge_1/sys/netinet/if_ether.c
Modified: projects/arpv2_merge_1/sys/netinet/if_ether.c
==============================================================================
--- projects/arpv2_merge_1/sys/netinet/if_ether.c Wed Dec 10 07:14:51 2008 (r185840)
+++ projects/arpv2_merge_1/sys/netinet/if_ether.c Wed Dec 10 07:45:11 2008 (r185841)
@@ -325,17 +325,18 @@ retry:
}
renew = (la->la_asked == 0 || la->la_expire != time_uptime);
+
+ if (renew && ((flags & LLE_EXCLUSIVE) == 0)) {
+ flags |= LLE_EXCLUSIVE;
+ LLE_RUNLOCK(la);
+ goto retry;
+ }
/*
* There is an arptab entry, but no ethernet address
* response yet. Replace the held mbuf with this
* latest one.
*/
if (m) {
- if ((flags & LLE_EXCLUSIVE) == 0) {
- flags |= LLE_EXCLUSIVE;
- LLE_RUNLOCK(la);
- goto retry;
- }
if (la->la_hold)
m_freem(la->la_hold);
la->la_hold = m;
More information about the svn-src-projects
mailing list