svn commit: r186032 - projects/arpv2_merge_1/sys/netinet
Kip Macy
kmacy at FreeBSD.org
Sat Dec 13 00:31:33 PST 2008
Author: kmacy
Date: Sat Dec 13 08:31:32 2008
New Revision: 186032
URL: http://svn.freebsd.org/changeset/base/186032
Log:
hold lle lock across flags check
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 Sat Dec 13 07:45:48 2008 (r186031)
+++ projects/arpv2_merge_1/sys/netinet/if_ether.c Sat Dec 13 08:31:32 2008 (r186032)
@@ -154,19 +154,20 @@ arptimer(void *arg)
return;
}
ifp = lle->lle_tbl->llt_ifp;
+ IF_AFDATA_LOCK(ifp);
+ LLE_WLOCK(lle);
if ((lle->la_flags & LLE_DELETED) ||
(time_second >= lle->la_expire)) {
- IF_AFDATA_LOCK(ifp);
if (!callout_pending(&lle->la_timer) &&
callout_active(&lle->la_timer))
(void) llentry_free(lle);
- IF_AFDATA_UNLOCK(ifp);
} else {
/*
* Still valid, just drop our reference
*/
- LLE_FREE(lle);
+ LLE_FREE_LOCKED(lle);
}
+ IF_AFDATA_UNLOCK(ifp);
}
/*
More information about the svn-src-projects
mailing list