kcalloc checks for n * sizeof(element) overflows and it zeros.

Signed-off-by: Milton Miller <[EMAIL PROTECTED]>


Index: kernel/kernel/sched.c
===================================================================
--- kernel.orig/kernel/sched.c  2007-10-12 03:58:35.000000000 -0500
+++ kernel/kernel/sched.c       2007-10-12 03:58:38.000000000 -0500
@@ -5283,10 +5283,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;
 }
@@ -6080,7 +6079,7 @@ static int build_sched_domains(const cpu
        /*
         * 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");
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to