diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index adc5407fd5d589f3194e9d82e8f2983231bf6d2f..b72b308fe406baebd6c5db4a08238967c5709df2 100644 --- a/net/sched/sch_netem.c +++ b/net/sched/sch_netem.c @@ -785,7 +785,7 @@ static int get_dist_table(struct Qdisc *sch, struct disttable **tbl, if (!n || n > NETEM_DIST_MAX) return -EINVAL; - d = kvmalloc(sizeof(struct disttable) + n * sizeof(s16), GFP_KERNEL); + d = kvmalloc(struct_size(d, table, n), GFP_KERNEL); if (!d) return -ENOMEM;