aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_input.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r--net/ipv4/tcp_input.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index a759e19496d2..3bd55bad230a 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -2059,11 +2059,8 @@ void tcp_enter_loss(struct sock *sk, int how)
2059 if (tcp_is_reno(tp)) 2059 if (tcp_is_reno(tp))
2060 tcp_reset_reno_sack(tp); 2060 tcp_reset_reno_sack(tp);
2061 2061
2062 if (!how) { 2062 tp->undo_marker = tp->snd_una;
2063 /* Push undo marker, if it was plain RTO and nothing 2063 if (how) {
2064 * was retransmitted. */
2065 tp->undo_marker = tp->snd_una;
2066 } else {
2067 tp->sacked_out = 0; 2064 tp->sacked_out = 0;
2068 tp->fackets_out = 0; 2065 tp->fackets_out = 0;
2069 } 2066 }
@@ -5485,6 +5482,9 @@ int tcp_rcv_established(struct sock *sk, struct sk_buff *skb,
5485 if (tcp_checksum_complete_user(sk, skb)) 5482 if (tcp_checksum_complete_user(sk, skb))
5486 goto csum_error; 5483 goto csum_error;
5487 5484
5485 if ((int)skb->truesize > sk->sk_forward_alloc)
5486 goto step5;
5487
5488 /* Predicted packet is in window by definition. 5488 /* Predicted packet is in window by definition.
5489 * seq == rcv_nxt and rcv_wup <= rcv_nxt. 5489 * seq == rcv_nxt and rcv_wup <= rcv_nxt.
5490 * Hence, check seq<=rcv_wup reduces to: 5490 * Hence, check seq<=rcv_wup reduces to:
@@ -5496,9 +5496,6 @@ int tcp_rcv_established(struct sock *sk, struct sk_buff *skb,
5496 5496
5497 tcp_rcv_rtt_measure_ts(sk, skb); 5497 tcp_rcv_rtt_measure_ts(sk, skb);
5498 5498
5499 if ((int)skb->truesize > sk->sk_forward_alloc)
5500 goto step5;
5501
5502 NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPHPHITS); 5499 NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPHPHITS);
5503 5500
5504 /* Bulk data transfer: receiver */ 5501 /* Bulk data transfer: receiver */