summaryrefslogtreecommitdiff
path: root/net/ipv4/tcp_input.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2012-11-21 00:00:25 -0800
committerOlof Johansson <olof@lixom.net>2012-11-21 00:00:25 -0800
commit3f6f1cd6ffb473f426858692e8e1cb82aea137eb (patch)
treed3f3f931d3ed57041dc0feafb8fdbf9843fcb5fc /net/ipv4/tcp_input.c
parent1443f8a0b95c07cee9df4420a30eea24123af3f3 (diff)
parentb57870e28d27561ea5bad538c22b7d10f531b35c (diff)
Merge branch 'armsoc/board' of git://github.com/hzhuang1/linux into next/boards
From Haojian Zhuang: * 'armsoc/board' of git://github.com/hzhuang1/linux: ARM: mmp: select pinctrl driver + Linux 3.7-rc6
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r--net/ipv4/tcp_input.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 2c2b13a999ea..609ff98aeb47 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -5313,11 +5313,6 @@ static bool tcp_validate_incoming(struct sock *sk, struct sk_buff *skb,
goto discard;
}
- /* ts_recent update must be made after we are sure that the packet
- * is in window.
- */
- tcp_replace_ts_recent(tp, TCP_SKB_CB(skb)->seq);
-
/* step 3: check security and precedence [ignored] */
/* step 4: Check for a SYN
@@ -5552,6 +5547,11 @@ step5:
if (th->ack && tcp_ack(sk, skb, FLAG_SLOWPATH) < 0)
goto discard;
+ /* ts_recent update must be made after we are sure that the packet
+ * is in window.
+ */
+ tcp_replace_ts_recent(tp, TCP_SKB_CB(skb)->seq);
+
tcp_rcv_rtt_measure_ts(sk, skb);
/* Process urgent data. */
@@ -6130,6 +6130,11 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb,
} else
goto discard;
+ /* ts_recent update must be made after we are sure that the packet
+ * is in window.
+ */
+ tcp_replace_ts_recent(tp, TCP_SKB_CB(skb)->seq);
+
/* step 6: check the URG bit */
tcp_urg(sk, skb, th);