From ad803f0089d7983f5523c77147035e438b652a5a Mon Sep 17 00:00:00 2001 From: rwatson Date: Wed, 1 Jun 2005 11:39:42 +0000 Subject: Assert pcbinfo lock in in_pcbdisconnect() and in_pcbdetach(), as the global pcb lists are modified. MFC after: 7 days --- sys/netinet/in_pcb.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'sys/netinet/in_pcb.c') diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 5e31c42..89f9d5b 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) -- cgit v1.1