Re: [PKT_SCHED] act_gact: division by zero
From: Patrick McHardy <hidden>
Date: 2006-11-30 12:17:16
Nordlund Kim (Nokia-NET/Helsinki) wrote:
quoted hunk ↗ jump to hunk
tc qdisc add dev eth1 handle ffff: ingress tc filter add dev eth1 protocol ip parent ffff: pref 99 basic \ flowid 1:1 action pass random determ drop 0 ^ the above cause a division by zero in the kernel on the first packet in. Signed-off-by: Kim Nordlund <redacted> diff -rub linux-2.6.19-orig/net/sched/act_gact.c linux/net/sched/act_gact.c--- linux-2.6.19-orig/net/sched/act_gact.c 2006-11-29 23:57:37.000000000 +0200 +++ linux/net/sched/act_gact.c 2006-11-30 13:22:37.000000000 +0200@@ -111,7 +111,7 @@ if (tb[TCA_GACT_PROB-1] != NULL) { struct tc_gact_p *p_parm = RTA_DATA(tb[TCA_GACT_PROB-1]); gact->tcfg_paction = p_parm->paction; - gact->tcfg_pval = p_parm->pval; + gact->tcfg_pval = p_parm->pval ? : 1;
I think it should reject an invalid configuration or handle the zero case correctly by not dividing.