lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 18 Jul 2018 14:42:57 -0700
From:   Eric Dumazet <eric.dumazet@...il.com>
To:     Yuchung Cheng <ycheng@...gle.com>, davem@...emloft.net
Cc:     netdev@...r.kernel.org, edumazet@...gle.com, ncardwell@...gle.com,
        brakmo@...com, ysseung@...gle.com
Subject: Re: [PATCH net 2/3] tcp: do not cancel delay-AcK on DCTCP special ACK



On 07/18/2018 01:56 PM, Yuchung Cheng wrote:
> Currently when a DCTCP receiver delays an ACK and receive a
> data packet with a different CE mark from the previous one's, it
> sends two immediate ACKs acking previous and latest sequences
> respectly (for ECN accounting).
> 
> Previously sending the first ACK may mark off the delayed ACK timer
> (tcp_event_ack_sent). This may subsequently prevent sending the
> second ACK to acknowledge the latest sequence (tcp_ack_snd_check).
> The culprit is that tcp_send_ack() assumes it always acknowleges
> the latest sequence, which is not true for the first special ACK.
> 
> The fix is to not make the assumption in tcp_send_ack and check the
> actual ack sequence before cancelling the delayed ACK. Further it's
> safer to pass the ack sequence number as a local variable into
> tcp_send_ack routine, instead of intercepting tp->rcv_nxt to avoid
> future bugs like this.
> 
> Reported-by: Neal Cardwell <ncardwell@...gle.com>
> Signed-off-by: Yuchung Cheng <ycheng@...gle.com>
> Acked-by: Neal Cardwell <ncardwell@...gle.com>

Signed-off-by: Eric Dumazet <edumazet@...gle.com>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ