summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2004-06-25 20:12:06 +0000
committerrwatson <rwatson@FreeBSD.org>2004-06-25 20:12:06 +0000
commit7203fb63d4f7eff9b2b51a1f2b89a67861593d7b (patch)
tree48251fe42ec62a9facaa9c0d56600208f4a405a2
parentdfb6d511956c2a209c86265e60dde6f108cf61b3 (diff)
downloadFreeBSD-src-7203fb63d4f7eff9b2b51a1f2b89a67861593d7b.zip
FreeBSD-src-7203fb63d4f7eff9b2b51a1f2b89a67861593d7b.tar.gz
Release UNIX domain socket subsystem lock earlier -- don't need to
hold it over free of unp_addr if we've already removed all references to unp.
-rw-r--r--sys/kern/uipc_usrreq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index ea9a6a2..862b7be 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -656,9 +656,9 @@ unp_detach(unp)
sorflush(unp->unp_socket);
unp_gc();
}
+ UNP_UNLOCK();
if (unp->unp_addr != NULL)
FREE(unp->unp_addr, M_SONAME);
- UNP_UNLOCK();
uma_zfree(unp_zone, unp);
if (vp) {
mtx_lock(&Giant);
OpenPOWER on IntegriCloud