diff options
Diffstat (limited to 'net/ipv4/tcp_minisocks.c')
-rw-r--r-- | net/ipv4/tcp_minisocks.c | 10 |
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 | } |