Patch "tcp: refresh skb timestamp at retransmit time" has been added to the 4.5-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
tcp: refresh skb timestamp at retransmit time
to the 4.5-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
tcp-refresh-skb-timestamp-at-retransmit-time.patch
and it can be found in the queue-4.5 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Mon May 16 11:20:33 PDT 2016
From: Eric Dumazet <[email protected]>
Date: Mon, 9 May 2016 20:55:16 -0700
Subject: tcp: refresh skb timestamp at retransmit time
From: Eric Dumazet <[email protected]>
[ Upstream commit 10a81980fc47e64ffac26a073139813d3f697b64 ]
In the very unlikely case __tcp_retransmit_skb() can not use the cloning done in tcp_transmit_skb(), we need to refresh skb_mstamp before doing the copy and transmit, otherwise TCP TS val will be an exact copy of original transmit.
--- net/ipv4/tcp_output.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
net/ipv4/tcp_output.c +4 -2
@@ -2625,8 +2625,10 @@ int __tcp_retransmit_skb(struct sock *sk*/ if (unlikely ((NET_IP_ALIGN && ((unsigned long )skb->data &3 )) ||skb_headroom (skb) >=0xFFFF )) { -struct sk_buff *nskb =__pskb_copy (skb,MAX_TCP_HEADER , -GFP_ATOMIC ); +struct sk_buff *nskb; + +skb_mstamp_get (&skb->skb_mstamp); + nskb =__pskb_copy (skb,MAX_TCP_HEADER ,GFP_ATOMIC ); err = nskb ?tcp_transmit_skb (sk, nskb,0 ,GFP_ATOMIC ) : -ENOBUFS ; }else {
Patches currently in stable-queue which might be from [email protected] are
queue-4.5/tcp-refresh-skb-timestamp-at-retransmit-time.patch queue-4.5/netem-segment-gso-packets-on-enqueue.patch queue-4.5/net-mlx4_en-fix-spurious-timestamping-callbacks.patch queue-4.5/net-sched-do-not-requeue-a-null-skb.patch queue-4.5/soreuseport-fix-ordering-for-mixed-v4-v6-sockets.patch