summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authornp <np@FreeBSD.org>2012-01-06 18:29:40 +0000
committernp <np@FreeBSD.org>2012-01-06 18:29:40 +0000
commit8b68a4041988c9f0fe34ad0aa5fd4306a3b2590c (patch)
tree79416f9b4dcded40f93858fe7f41d986b0310476 /sys/netinet
parent6bdfc28231adbd6a3312128e8322a10730e26e3f (diff)
downloadFreeBSD-src-8b68a4041988c9f0fe34ad0aa5fd4306a3b2590c.zip
FreeBSD-src-8b68a4041988c9f0fe34ad0aa5fd4306a3b2590c.tar.gz
Always release the inp lock before returning from tcp_detach.
MFC after: 5 days
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/tcp_usrreq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c
index 7a7e1ce..5e2af8f 100644
--- a/sys/netinet/tcp_usrreq.c
+++ b/sys/netinet/tcp_usrreq.c
@@ -204,8 +204,10 @@ tcp_detach(struct socket *so, struct inpcb *inp)
tcp_discardcb(tp);
in_pcbdetach(inp);
in_pcbfree(inp);
- } else
+ } else {
in_pcbdetach(inp);
+ INP_WUNLOCK(inp);
+ }
}
}
OpenPOWER on IntegriCloud