summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2006-07-26 19:16:34 +0000
committerrwatson <rwatson@FreeBSD.org>2006-07-26 19:16:34 +0000
commit2268f15916e77939a504f8dbc362e364f1bbdcd3 (patch)
tree06bf0c4884958c7d216b0a21dc9c317ec4621b62
parentad02b2748c05869ab6d6a741d1f4adcfae259498 (diff)
downloadFreeBSD-src-2268f15916e77939a504f8dbc362e364f1bbdcd3.zip
FreeBSD-src-2268f15916e77939a504f8dbc362e364f1bbdcd3.tar.gz
Remove call to soisdisconnected() in uipc_detach(), since it will already
have been invoked by uipc_close() or uipc_abort(), and the socket is in a state of being torn down by the time we get to this point, so kqueue state frobbed by soisdisconnected() is not available, so frobbing it will result in a panic. Reported by: Munehiro Matsuda <haro at h4 dot dion dot ne dot jp>
-rw-r--r--sys/kern/uipc_usrreq.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index 42226a1..715ba3c 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -443,7 +443,6 @@ uipc_detach(struct socket *so)
struct unpcb *ref = LIST_FIRST(&unp->unp_refs);
unp_drop(ref, ECONNRESET);
}
- soisdisconnected(unp->unp_socket);
unp->unp_socket->so_pcb = NULL;
local_unp_rights = unp_rights;
UNP_UNLOCK();
OpenPOWER on IntegriCloud