]> git.baikalelectronics.ru Git - kernel.git/commit
[NET_SCHED]: Fix endless loops (part 5): netem/tbf/hfsc ->requeue failures
authorPatrick McHardy <kaber@trash.net>
Thu, 30 Nov 2006 01:37:42 +0000 (17:37 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sun, 3 Dec 2006 05:31:46 +0000 (21:31 -0800)
commit00390777a01b517cc1f2a57d51a2828326eaf36c
tree792549530bf6d6e36cf48c9192194bccad158e2d
parentd20d6cbc5e41ad920e8357d6935ad9e61a02f3e8
[NET_SCHED]: Fix endless loops (part 5): netem/tbf/hfsc ->requeue failures

When peeking at the next packet in a child qdisc by calling dequeue/requeue,
the upper qdisc qlen counter may get out of sync in case the requeue fails.
The qdisc and the child qdisc both have their counter decremented, but since
no packet is given to the upper qdisc it won't decrement its counter itself.

requeue should not fail, so this is mostly for "correctness".

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_hfsc.c
net/sched/sch_netem.c
net/sched/sch_tbf.c