Commit f751f919 authored by Eric Dumazet's avatar Eric Dumazet Committed by Yang Yingliang
Browse files

tcp: address problems caused by EDT misshaps



stable inclusion
from linux-4.19.209
commit eb6eeb056c992d20a4d3b4fb7dd05471ba32fea3

--------------------------------

commit 9efdda4e upstream.

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: ab408b6d ("tcp: switch tcp and sch_fq to new earliest departure time model")
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarQiumiao Zhang <zhangqiumiao1@huawei.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Conflicts:
  net/ipv4/tcp_timer.c
[yyl: keep implention of
 tcp_clamp_rto_to_user_timeout() and retransmits_timed_out() as mainline]
Reviewed-by: default avatarYue Haibing <yuehaibing@huawei.com>
Acked-by: default avatarJason Yan <yanaijie@huawei.com>
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
parent 253dae48
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment