projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PKT_SCHED] act_gact: division by zero
[firefly-linux-kernel-4.4.55.git]
/
net
/
sched
/
act_gact.c
diff --git
a/net/sched/act_gact.c
b/net/sched/act_gact.c
index 6cff56696a81dca4187cf649eb922bd2e906e637..85de7efd5fea7b29ca7a208633c5740f1a1762e5 100644
(file)
--- a/
net/sched/act_gact.c
+++ b/
net/sched/act_gact.c
@@
-48,14
+48,14
@@
static struct tcf_hashinfo gact_hash_info = {
#ifdef CONFIG_GACT_PROB
static int gact_net_rand(struct tcf_gact *gact)
{
#ifdef CONFIG_GACT_PROB
static int gact_net_rand(struct tcf_gact *gact)
{
- if (net_random() % gact->tcfg_pval)
+ if (
!gact->tcfg_pval ||
net_random() % gact->tcfg_pval)
return gact->tcf_action;
return gact->tcfg_paction;
}
static int gact_determ(struct tcf_gact *gact)
{
return gact->tcf_action;
return gact->tcfg_paction;
}
static int gact_determ(struct tcf_gact *gact)
{
- if (gact->tcf_bstats.packets % gact->tcfg_pval)
+ if (
!gact->tcfg_pval ||
gact->tcf_bstats.packets % gact->tcfg_pval)
return gact->tcf_action;
return gact->tcfg_paction;
}
return gact->tcf_action;
return gact->tcfg_paction;
}