浏览代码

mfd: ab8500-debugfs: Apply a check for -ENOMEM after allocating memory for event name

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>
Lee Jones 12 年之前
父节点
当前提交
d551c4c43c
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      drivers/mfd/ab8500-debugfs.c

+ 3 - 0
drivers/mfd/ab8500-debugfs.c

@@ -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;