diff options
author | Robert Watson <rwatson@FreeBSD.org> | 2005-06-01 11:39:42 +0000 |
---|---|---|
committer | Robert Watson <rwatson@FreeBSD.org> | 2005-06-01 11:39:42 +0000 |
commit | 6b348152be7348b7d6a522f7ad9d3ddd08e7b7a2 (patch) | |
tree | d4be4c7d592c18d440ea6e3c21a143a38ba494ab | |
parent | 3ca1570c8223eb9b1891246cb61a3f87de9fd21a (diff) | |
download | src-6b348152be7348b7d6a522f7ad9d3ddd08e7b7a2.tar.gz src-6b348152be7348b7d6a522f7ad9d3ddd08e7b7a2.zip |
Assert pcbinfo lock in in_pcbdisconnect() and in_pcbdetach(), as the
global pcb lists are modified.
MFC after: 7 days
Notes
Notes:
svn path=/head/; revision=146859
-rw-r--r-- | sys/netinet/in_pcb.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 5e31c42c961a..89f9d5bf0f61 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -692,6 +692,8 @@ void in_pcbdisconnect(inp) struct inpcb *inp; { + + INP_INFO_WLOCK_ASSERT(pcbinfo); INP_LOCK_ASSERT(inp); inp->inp_faddr.s_addr = INADDR_ANY; @@ -711,6 +713,7 @@ in_pcbdetach(inp) struct socket *so = inp->inp_socket; struct inpcbinfo *ipi = inp->inp_pcbinfo; + INP_INFO_WLOCK_ASSERT(pcbinfo); INP_LOCK_ASSERT(inp); #if defined(IPSEC) || defined(FAST_IPSEC) |