diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index 0c345e43a09a3738e15ab5de81ae37effcff01e5..ecbb10db1111680764a7718002777b2e07dd7eee 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;