[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20160421.134626.1196772506489683431.davem@davemloft.net>
Date: Thu, 21 Apr 2016 13:46:26 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: kafai@...com
Cc: netdev@...r.kernel.org, kernel-team@...com, edumazet@...gle.com,
ncardwell@...gle.com, soheil.kdev@...il.com, willemb@...gle.com,
ycheng@...gle.com
Subject: Re: [PATCH net] tcp: Fix SOF_TIMESTAMPING_TX_ACK when handling dup
acks
From: Martin KaFai Lau <kafai@...com>
Date: Mon, 18 Apr 2016 15:39:53 -0700
> Assuming SOF_TIMESTAMPING_TX_ACK is on. When dup acks are received,
> it could incorrectly think that a skb has already
> been acked and queue a SCM_TSTAMP_ACK cmsg to the
> sk->sk_error_queue.
>
> In tcp_ack_tstamp(), it checks
> 'between(shinfo->tskey, prior_snd_una, tcp_sk(sk)->snd_una - 1)'.
> If prior_snd_una == tcp_sk(sk)->snd_una like the following packetdrill
> script, between() returns true but the tskey is actually not acked.
> e.g. try between(3, 2, 1).
>
> The fix is to replace between() with one before() and one !before().
> By doing this, the -1 offset on the tcp_sk(sk)->snd_una can also be
> removed.
...
> Signed-off-by: Martin KaFai Lau <kafai@...com>
Applied, thank you.
Powered by blists - more mailing lists