fq_codel: reject silly quantum parameters
syzbot found that forcing a big quantum attribute would crash hosts fast,
essentially using this:
tc qd replace dev eth0 root fq_codel quantum 4294967295
This is because fq_codel_dequeue() would have to loop
~2^31 times in :
if (flow->deficit <= 0) {
flow->deficit += q->quantum;
list_move_tail(&flow->flowchain, &q->old_flows);
goto begin;
}
SFQ max quantum is 2^19 (half a megabyte)
Lets adopt a max quantum of one megabyte for FQ_CODEL.
Fixes: 4b549a2e ("fq_codel: Fair Queue Codel AQM")
Signed-off-by:
Eric Dumazet <edumazet@google.com>
Reported-by:
syzbot <syzkaller@googlegroups.com>
Signed-off-by:
David S. Miller <davem@davemloft.net>
Loading
Please sign in to comment