From: Milton Miller Date: Mon, 15 Oct 2007 15:00:19 +0000 (+0200) Subject: sched: domain sysctl fixes: use kcalloc() X-Git-Tag: v2.6.24-rc1~1289^2~10 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5cf9f062c8e33d5a09eaa447550330162b2a96ed;p=linux-2.6 sched: domain sysctl fixes: use kcalloc() kcalloc checks for n * sizeof(element) overflows and it zeros. Signed-off-by: Milton Miller Signed-off-by: Ingo Molnar --- diff --git a/kernel/sched.c b/kernel/sched.c index 750612751a..d29950a604 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -5243,10 +5243,9 @@ static struct ctl_table sd_ctl_root[] = { static struct ctl_table *sd_alloc_ctl_entry(int n) { struct ctl_table *entry = - kmalloc(n * sizeof(struct ctl_table), GFP_KERNEL); + kcalloc(n, sizeof(struct ctl_table), GFP_KERNEL); BUG_ON(!entry); - memset(entry, 0, n * sizeof(struct ctl_table)); return entry; } @@ -6018,7 +6017,7 @@ static int build_sched_domains(const cpumask_t *cpu_map) /* * Allocate the per-node list of sched groups */ - sched_group_nodes = kzalloc(sizeof(struct sched_group *)*MAX_NUMNODES, + sched_group_nodes = kcalloc(MAX_NUMNODES, sizeof(struct sched_group *), GFP_KERNEL); if (!sched_group_nodes) { printk(KERN_WARNING "Can not alloc sched group node list\n");