diff options
author | sam <sam@FreeBSD.org> | 2003-11-13 05:18:23 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2003-11-13 05:18:23 +0000 |
commit | 64b81ef0ad84feb9d95a8b5468c68d73e1babd6b (patch) | |
tree | 5b2344bf10be89ce444b7f75c83a5a5e2773be13 /sys/netinet/in_pcb.c | |
parent | 135a94b34b4288a6f5ff890b035519c060fa1a1c (diff) | |
download | FreeBSD-src-64b81ef0ad84feb9d95a8b5468c68d73e1babd6b.zip FreeBSD-src-64b81ef0ad84feb9d95a8b5468c68d73e1babd6b.tar.gz |
add missing inpcb lock before call to tcp_twclose (which reclaims the inpcb)
Supported by: FreeBSD Foundation
Diffstat (limited to 'sys/netinet/in_pcb.c')
-rw-r--r-- | sys/netinet/in_pcb.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 48fed21..480c50e 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1000,6 +1000,7 @@ in_pcblookup_local(pcbinfo, laddr, lport_arg, wild_okay) */ if ((inp->inp_vflag & INP_TIMEWAIT) != 0) { if (tcp_twrecycleable((struct tcptw *)inp->inp_ppcb)) { + INP_LOCK(inp); tcp_twclose((struct tcptw *)inp->inp_ppcb, 0); match = NULL; goto retrylookup; |