aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_minisocks.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/tcp_minisocks.c')
-rw-r--r--net/ipv4/tcp_minisocks.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
index ac6b1961ffeb..75632a925824 100644
--- a/net/ipv4/tcp_minisocks.c
+++ b/net/ipv4/tcp_minisocks.c
@@ -131,7 +131,7 @@ tcp_timewait_state_process(struct inet_timewait_sock *tw, struct sk_buff *skb,
131 goto kill; 131 goto kill;
132 132
133 if (th->syn && !before(TCP_SKB_CB(skb)->seq, tcptw->tw_rcv_nxt)) 133 if (th->syn && !before(TCP_SKB_CB(skb)->seq, tcptw->tw_rcv_nxt))
134 goto kill_with_rst; 134 return TCP_TW_RST;
135 135
136 /* Dup ACK? */ 136 /* Dup ACK? */
137 if (!th->ack || 137 if (!th->ack ||
@@ -145,11 +145,8 @@ tcp_timewait_state_process(struct inet_timewait_sock *tw, struct sk_buff *skb,
145 * reset. 145 * reset.
146 */ 146 */
147 if (!th->fin || 147 if (!th->fin ||
148 TCP_SKB_CB(skb)->end_seq != tcptw->tw_rcv_nxt + 1) { 148 TCP_SKB_CB(skb)->end_seq != tcptw->tw_rcv_nxt + 1)
149kill_with_rst:
150 inet_twsk_deschedule_put(tw);
151 return TCP_TW_RST; 149 return TCP_TW_RST;
152 }
153 150
154 /* FIN arrived, enter true time-wait state. */ 151 /* FIN arrived, enter true time-wait state. */
155 tw->tw_substate = TCP_TIME_WAIT; 152 tw->tw_substate = TCP_TIME_WAIT;