Files
linux/net/sched
Eric Dumazet 541d81ab68 net_sched: fq: take care of throttled flows before reuse
[ Upstream commit 7df40c2673 ]

Normally, a socket can not be freed/reused unless all its TX packets
left qdisc and were TX-completed. However connect(AF_UNSPEC) allows
this to happen.

With commit fc59d5bdf1 ("pkt_sched: fq: clear time_next_packet for
reused flows") we cleared f->time_next_packet but took no special
action if the flow was still in the throttled rb-tree.

Since f->time_next_packet is the key used in the rb-tree searches,
blindly clearing it might break rb-tree integrity. We need to make
sure the flow is no longer in the rb-tree to avoid this problem.

Fixes: fc59d5bdf1 ("pkt_sched: fq: clear time_next_packet for reused flows")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-05-26 08:48:47 +02:00
..
2011-01-19 23:31:12 -08:00
2011-01-19 23:31:12 -08:00
2015-05-13 15:19:48 -04:00
2016-05-18 17:06:39 -07:00
2016-07-11 09:31:11 -07:00
2018-02-25 11:03:40 +01:00
2018-02-25 11:03:40 +01:00