-
由 Eric Dumazet 提交于
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: NEric Dumazet <edumazet@google.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net> Signed-off-by: NQiumiao Zhang <zhangqiumiao1@huawei.com> Signed-off-by: NGreg 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: NYue Haibing <yuehaibing@huawei.com> Acked-by: NJason Yan <yanaijie@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
f751f919