mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
[PKT_SCHED]: GRED: Report out-of-bound DPs as illegal
Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
This commit is contained in:
parent
6639607ed9
commit
a8aaa9958e
@ -451,12 +451,9 @@ static int gred_change(struct Qdisc *sch, struct rtattr *opt)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
ctl = RTA_DATA(tb[TCA_GRED_PARMS-1]);
|
ctl = RTA_DATA(tb[TCA_GRED_PARMS-1]);
|
||||||
if (ctl->DP > MAX_DPs-1 ) {
|
|
||||||
/* misbehaving is punished! Put in the default drop probability */
|
if (ctl->DP >= table->DPs)
|
||||||
DPRINTK("\nGRED: DP %u not in the proper range fixed. New DP "
|
return -EINVAL;
|
||||||
"set to default at %d\n",ctl->DP,table->def);
|
|
||||||
ctl->DP=table->def;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (table->tab[ctl->DP] == NULL) {
|
if (table->tab[ctl->DP] == NULL) {
|
||||||
table->tab[ctl->DP]=kmalloc(sizeof(struct gred_sched_data),
|
table->tab[ctl->DP]=kmalloc(sizeof(struct gred_sched_data),
|
||||||
|
Loading…
Reference in New Issue
Block a user