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.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
index 4cfbe1d1c920..2d95afe5b393 100644
--- a/net/ipv4/tcp_minisocks.c
+++ b/net/ipv4/tcp_minisocks.c
@@ -787,9 +787,10 @@ struct sock *tcp_check_req(struct sock *sk,struct sk_buff *skb,
787 does sequence test, SYN is truncated, and thus we consider 787 does sequence test, SYN is truncated, and thus we consider
788 it a bare ACK. 788 it a bare ACK.
789 789
790 If tp->defer_accept, we silently drop this bare ACK. Otherwise, 790 If icsk->icsk_accept_queue.rskq_defer_accept, we silently drop this
791 we create an established connection. Both ends (listening sockets) 791 bare ACK. Otherwise, we create an established connection. Both
792 accept the new incoming connection and try to talk to each other. 8-) 792 ends (listening sockets) accept the new incoming connection and try
793 to talk to each other. 8-)
793 794
794 Note: This case is both harmless, and rare. Possibility is about the 795 Note: This case is both harmless, and rare. Possibility is about the
795 same as us discovering intelligent life on another plant tomorrow. 796 same as us discovering intelligent life on another plant tomorrow.
@@ -856,7 +857,8 @@ struct sock *tcp_check_req(struct sock *sk,struct sk_buff *skb,
856 return NULL; 857 return NULL;
857 858
858 /* If TCP_DEFER_ACCEPT is set, drop bare ACK. */ 859 /* If TCP_DEFER_ACCEPT is set, drop bare ACK. */
859 if (tp->defer_accept && TCP_SKB_CB(skb)->end_seq == tcp_rsk(req)->rcv_isn + 1) { 860 if (inet_csk(sk)->icsk_accept_queue.rskq_defer_accept &&
861 TCP_SKB_CB(skb)->end_seq == tcp_rsk(req)->rcv_isn + 1) {
860 inet_rsk(req)->acked = 1; 862 inet_rsk(req)->acked = 1;
861 return NULL; 863 return NULL;
862 } 864 }