Commit 769c754e authored by David S. Miller's avatar David S. Miller Committed by Sridhar Samudrala

[TCP]: In tcp_check_req, handle ACKless packets properly.

parent 459de5c6
...@@ -952,6 +952,12 @@ struct sock *tcp_check_req(struct sock *sk,struct sk_buff *skb, ...@@ -952,6 +952,12 @@ struct sock *tcp_check_req(struct sock *sk,struct sk_buff *skb,
if (flg & (TCP_FLAG_RST|TCP_FLAG_SYN)) if (flg & (TCP_FLAG_RST|TCP_FLAG_SYN))
goto embryonic_reset; goto embryonic_reset;
/* ACK sequence verified above, just make sure ACK is
* set. If ACK not set, just silently drop the packet.
*/
if (!(flg & TCP_FLAG_ACK))
return NULL;
/* If TCP_DEFER_ACCEPT is set, drop bare ACK. */ /* If TCP_DEFER_ACCEPT is set, drop bare ACK. */
if (tp->defer_accept && TCP_SKB_CB(skb)->end_seq == req->rcv_isn+1) { if (tp->defer_accept && TCP_SKB_CB(skb)->end_seq == req->rcv_isn+1) {
req->acked = 1; req->acked = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment