1
linux/net/sched
Patrick McHardy e488eafcc5 [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>
2006-12-02 21:31:46 -08:00
..
act_api.c [PKT_SCHED]: Kill pkt_act.h inlining. 2006-09-22 14:55:10 -07:00
act_gact.c [PKT_SCHED]: Kill pkt_act.h inlining. 2006-09-22 14:55:10 -07:00
act_ipt.c [SCHED]: Use kmemdup & kzalloc where appropriate 2006-12-02 21:30:18 -08:00
act_mirred.c [PKT_SCHED]: Kill pkt_act.h inlining. 2006-09-22 14:55:10 -07:00
act_pedit.c [PKT_SCHED]: Kill pkt_act.h inlining. 2006-09-22 14:55:10 -07:00
act_police.c [PKT_SCHED]: Kill pkt_act.h inlining. 2006-09-22 14:55:10 -07:00
act_simple.c [SCHED]: Use kmemdup & kzalloc where appropriate 2006-12-02 21:30:18 -08:00
cls_api.c [SCHED]: Use kmemdup & kzalloc where appropriate 2006-12-02 21:30:18 -08:00
cls_basic.c [PKT_SCHED] cls_basic: Use unsigned int when generating handle 2006-09-28 18:01:45 -07:00
cls_fw.c [NET]: Turn nfmark into generic mark 2006-12-02 21:21:38 -08:00
cls_route.c
cls_rsvp6.c
cls_rsvp.c
cls_rsvp.h [NET]: net/sched annotations. 2006-12-02 21:27:19 -08:00
cls_tcindex.c
cls_u32.c [NET]: Turn nfmark into generic mark 2006-12-02 21:21:38 -08:00
em_cmp.c
em_meta.c [SCHED]: Use kmemdup & kzalloc where appropriate 2006-12-02 21:30:18 -08:00
em_nbyte.c [SCHED]: Use kmemdup & kzalloc where appropriate 2006-12-02 21:30:18 -08:00
em_text.c
em_u32.c
ematch.c [SCHED]: Use kmemdup & kzalloc where appropriate 2006-12-02 21:30:18 -08:00
Kconfig [PKT_SCHED]: Make sch_fifo.o available when CONFIG_NET_SCHED is not set. 2006-12-02 21:21:43 -08:00
Makefile [PKT_SCHED]: Make sch_fifo.o available when CONFIG_NET_SCHED is not set. 2006-12-02 21:21:43 -08:00
sch_api.c [NET_SCHED]: Fix endless loops caused by inaccurate qlen counters (part 1) 2006-12-02 21:31:42 -08:00
sch_atm.c [NET_SCHED]: Set parent classid in default qdiscs 2006-12-02 21:31:41 -08:00
sch_blackhole.c
sch_cbq.c [NET_SCHED]: Fix endless loops (part 2): "simple" qdiscs 2006-12-02 21:31:43 -08:00
sch_dsmark.c [NET_SCHED]: Fix endless loops (part 2): "simple" qdiscs 2006-12-02 21:31:43 -08:00
sch_fifo.c
sch_generic.c [NET_SCHED]: Set parent classid in default qdiscs 2006-12-02 21:31:41 -08:00
sch_gred.c
sch_hfsc.c [NET_SCHED]: Fix endless loops (part 5): netem/tbf/hfsc ->requeue failures 2006-12-02 21:31:46 -08:00
sch_htb.c [NET_SCHED]: Fix endless loops (part 4): HTB 2006-12-02 21:31:45 -08:00
sch_ingress.c
sch_netem.c [NET_SCHED]: Fix endless loops (part 5): netem/tbf/hfsc ->requeue failures 2006-12-02 21:31:46 -08:00
sch_prio.c [NET_SCHED]: Fix endless loops (part 2): "simple" qdiscs 2006-12-02 21:31:43 -08:00
sch_red.c [NET_SCHED]: Fix endless loops (part 2): "simple" qdiscs 2006-12-02 21:31:43 -08:00
sch_sfq.c [NET_SCHED]: Fix endless loops (part 2): "simple" qdiscs 2006-12-02 21:31:43 -08:00
sch_tbf.c [NET_SCHED]: Fix endless loops (part 5): netem/tbf/hfsc ->requeue failures 2006-12-02 21:31:46 -08:00
sch_teql.c