]> Pileus Git - ~andy/linux/commitdiff
mfd: ab8500-debugfs: Apply a check for -ENOMEM after allocating memory for event...
authorLee Jones <lee.jones@linaro.org>
Fri, 19 Jul 2013 07:53:24 +0000 (08:53 +0100)
committerLee Jones <lee.jones@linaro.org>
Mon, 2 Sep 2013 09:22:44 +0000 (10:22 +0100)
The AB8500 debugfs driver allocates memory to contain the name of a new sysfs
entry, but fails to apply the proper post-allocation checks. If the device
were to run out of memory, the allocation would return NULL. Without the
correct checks the driver will continue to populate address NULL with the
specified device name which would obviously cause a pointer dereference Oops.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/ab8500-debugfs.c

index fe8189c4385a12051bd338bd623beae6ff7af3ae..e33e385af0a29e7930e4277984c640a1cf1db975 100644 (file)
@@ -2804,6 +2804,9 @@ static ssize_t ab8500_subscribe_write(struct file *file,
                return -ENOMEM;
 
        event_name[irq_index] = kmalloc(count, GFP_KERNEL);
+       if (!event_name[irq_index])
+               return -ENOMEM;
+
        sprintf(event_name[irq_index], "%lu", user_val);
        dev_attr[irq_index]->show = show_irq;
        dev_attr[irq_index]->store = NULL;