diff options
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 5f9b102c3b55..5b7c8768ed5f 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -3362,7 +3362,7 @@ static void tcp_rcv_nxt_update(struct tcp_sock *tp, u32 seq) | |||
3362 | 3362 | ||
3363 | sock_owned_by_me((struct sock *)tp); | 3363 | sock_owned_by_me((struct sock *)tp); |
3364 | tp->bytes_received += delta; | 3364 | tp->bytes_received += delta; |
3365 | tp->rcv_nxt = seq; | 3365 | WRITE_ONCE(tp->rcv_nxt, seq); |
3366 | } | 3366 | } |
3367 | 3367 | ||
3368 | /* Update our send window. | 3368 | /* Update our send window. |
@@ -5932,7 +5932,7 @@ static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb, | |||
5932 | /* Ok.. it's good. Set up sequence numbers and | 5932 | /* Ok.. it's good. Set up sequence numbers and |
5933 | * move to established. | 5933 | * move to established. |
5934 | */ | 5934 | */ |
5935 | tp->rcv_nxt = TCP_SKB_CB(skb)->seq + 1; | 5935 | WRITE_ONCE(tp->rcv_nxt, TCP_SKB_CB(skb)->seq + 1); |
5936 | tp->rcv_wup = TCP_SKB_CB(skb)->seq + 1; | 5936 | tp->rcv_wup = TCP_SKB_CB(skb)->seq + 1; |
5937 | 5937 | ||
5938 | /* RFC1323: The window in SYN & SYN/ACK segments is | 5938 | /* RFC1323: The window in SYN & SYN/ACK segments is |
@@ -6035,7 +6035,7 @@ discard: | |||
6035 | tp->tcp_header_len = sizeof(struct tcphdr); | 6035 | tp->tcp_header_len = sizeof(struct tcphdr); |
6036 | } | 6036 | } |
6037 | 6037 | ||
6038 | tp->rcv_nxt = TCP_SKB_CB(skb)->seq + 1; | 6038 | WRITE_ONCE(tp->rcv_nxt, TCP_SKB_CB(skb)->seq + 1); |
6039 | tp->copied_seq = tp->rcv_nxt; | 6039 | tp->copied_seq = tp->rcv_nxt; |
6040 | tp->rcv_wup = TCP_SKB_CB(skb)->seq + 1; | 6040 | tp->rcv_wup = TCP_SKB_CB(skb)->seq + 1; |
6041 | 6041 | ||