Page MenuHomeFreeBSD

D19740.id56368.diff
No OneTemporary

D19740.id56368.diff

Index: head/sys/netinet/tcp_usrreq.c
===================================================================
--- head/sys/netinet/tcp_usrreq.c
+++ head/sys/netinet/tcp_usrreq.c
@@ -1578,11 +1578,9 @@
error = 0;
inp = sotoinpcb(so);
KASSERT(inp != NULL, ("tcp_ctloutput: inp == NULL"));
- INP_WLOCK(inp);
if (sopt->sopt_level != IPPROTO_TCP) {
#ifdef INET6
if (inp->inp_vflag & INP_IPV6PROTO) {
- INP_WUNLOCK(inp);
error = ip6_ctloutput(so, sopt);
/*
* In case of the IPV6_USE_MIN_MTU socket option,
@@ -1627,12 +1625,12 @@
#endif
#ifdef INET
{
- INP_WUNLOCK(inp);
error = ip_ctloutput(so, sopt);
}
#endif
return (error);
}
+ INP_WLOCK(inp);
if (inp->inp_flags & (INP_TIMEWAIT | INP_DROPPED)) {
INP_WUNLOCK(inp);
return (ECONNRESET);

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 6, 12:35 PM (9 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29325826
Default Alt Text
D19740.id56368.diff (784 B)

Event Timeline