summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/in6.c
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2008-12-16 00:20:49 +0000
committerkmacy <kmacy@FreeBSD.org>2008-12-16 00:20:49 +0000
commitc9eebde165e93fa0717dca30fdfe0c687483b38a (patch)
treec475649d4979a66d38b5422521505b1aa677bceb /sys/netinet6/in6.c
parent5cdc211f638438961eaa38c59ae16c94c1010f03 (diff)
downloadFreeBSD-src-c9eebde165e93fa0717dca30fdfe0c687483b38a.zip
FreeBSD-src-c9eebde165e93fa0717dca30fdfe0c687483b38a.tar.gz
unlock and destroy an llentry's lock before freeing
Found by: sam
Diffstat (limited to 'sys/netinet6/in6.c')
-rw-r--r--sys/netinet6/in6.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c
index 8127281..6138533 100644
--- a/sys/netinet6/in6.c
+++ b/sys/netinet6/in6.c
@@ -2115,6 +2115,8 @@ in6_lltable_new(const struct sockaddr *l3addr, u_int flags)
static void
in6_lltable_free(struct lltable *llt, struct llentry *lle)
{
+ LLE_WUNLOCK(lle);
+ LLE_LOCK_DESTROY(lle);
free(lle, M_LLTABLE);
}
OpenPOWER on IntegriCloud