summaryrefslogtreecommitdiffstats
path: root/net/hsr/hsr_main.h
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2018-05-02 10:03:30 -0700
committerBen Hutchings <ben@decadent.org.uk>2018-10-21 08:45:52 +0100
commit461b95b34d30f69008d9126f25a58a0a36dab7d7 (patch)
treed67226af2aceb80c2717b56bfa7d98ccc15ee422 /net/hsr/hsr_main.h
parent78216b0b66ba87b2f90a0c02d5eb1a4c5f5a0e03 (diff)
downloadlinux-stable-461b95b34d30f69008d9126f25a58a0a36dab7d7.tar.gz
linux-stable-461b95b34d30f69008d9126f25a58a0a36dab7d7.tar.bz2
linux-stable-461b95b34d30f69008d9126f25a58a0a36dab7d7.zip
net_sched: fq: take care of throttled flows before reuse
commit 7df40c2673a1307c3260aab6f9d4b9bf97ca8fd7 upstream. 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 fc59d5bdf1e3 ("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: fc59d5bdf1e3 ("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: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'net/hsr/hsr_main.h')
0 files changed, 0 insertions, 0 deletions