]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: address problems caused by EDT misshaps
authorEric Dumazet <edumazet@google.com>
Sat, 24 Nov 2018 17:12:24 +0000 (09:12 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 25 Nov 2018 01:41:37 +0000 (17:41 -0800)
commit46c1566582d43a04e251e214abbcf6be39f168a9
treea65b654f1c7453e5554619e9501670319c8085c8
parentb15711598655b53a7999e323d3828c7ef49fd5b0
tcp: address problems caused by EDT misshaps

When a qdisc setup including pacing FQ is dismantled and recreated,
some TCP packets are sent earlier than instructed by TCP stack.

TCP can be fooled when ACK comes back, because the following
operation can return a negative value.

    tcp_time_stamp(tp) - tp->rx_opt.rcv_tsecr;

Some paths in TCP stack were not dealing properly with this,
this patch addresses four of them.

Fixes: e86c165575d2 ("tcp: switch tcp and sch_fq to new earliest departure time model")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c
net/ipv4/tcp_timer.c