Author: jhb
Date: Tue Nov 2 13:00:56 2010
New Revision: 214675
URL: http://svn.freebsd.org/changeset/base/214675
Log:
Don't leak the LLE lock if the arptimer callout is pending or inactive.
Reported by: David Rhodus
MFC after: 1 month
Modified:
head/sys/netinet/if_ether.c
Modified: head/sys/netinet/if_ether.c
==============================================================================
--- head/sys/netinet/if_ether.c Tue Nov 2 12:42:46 2010 (r214674)
+++ head/sys/netinet/if_ether.c Tue Nov 2 13:00:56 2010 (r214675)
@@ -178,16 +178,16 @@ arptimer(void *arg)
LLE_REMREF(lle);
(void) llentry_free(lle);
ARPSTAT_INC(timeouts);
- }
+ } else {
#ifdef DIAGNOSTIC
- else {
struct sockaddr *l3addr = L3_ADDR(lle);
log(LOG_INFO,
"arptimer issue: %p, IPv4 address: \"%s\"\n", lle,
inet_ntoa(
((const struct sockaddr_in
*)l3addr)->sin_addr));
- }
#endif
+ LLE_WUNLOCK(lle);
+ }
}
IF_AFDATA_UNLOCK(ifp);
CURVNET_RESTORE();
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"