sch_qfq: fix overflow in qfq_update_start()
authorEric Dumazet <eric.dumazet@gmail.com>
Mon, 2 Jan 2012 05:47:57 +0000 (05:47 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Jan 2012 17:58:23 +0000 (12:58 -0500)
commit6bafcac3238758203703bdd4abe9c1f38d259584
treeb5413ecd31f0fa3229b04bd415c870041fe30d95
parent115e8e705e4be071b9e06ff72578e3b603f2ba65
sch_qfq: fix overflow in qfq_update_start()

grp->slot_shift is between 22 and 41, so using 32bit wide variables is
probably a typo.

This could explain QFQ hangs Dave reported to me, after 2^23 packets ?

(23 = 64 - 41)

Reported-by: Dave Taht <dave.taht@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Stephen Hemminger <shemminger@vyatta.com>
CC: Dave Taht <dave.taht@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_qfq.c