ACPI / processor: Fix potential NULL pointer dereference in acpi_processor_add()
authorHanjun Guo <hanjun.guo@linaro.org>
Fri, 31 May 2013 03:36:08 +0000 (11:36 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sat, 1 Jun 2013 20:23:39 +0000 (22:23 +0200)
In acpi_processor_add(), get_cpu_device() may return NULL in some cases
which is then passed to acpi_bind_one() and that will case a NULL
pointer dereference to occur.

Add a check to prevent that from happening.

[rjw: Changelog]
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_processor.c

index 157e738..e9b01e3 100644 (file)
@@ -393,6 +393,11 @@ static int __cpuinit acpi_processor_add(struct acpi_device *device,
        per_cpu(processors, pr->id) = pr;
 
        dev = get_cpu_device(pr->id);
+       if (!dev) {
+               result = -ENODEV;
+               goto err;
+       }
+
        result = acpi_bind_one(dev, pr->handle);
        if (result)
                goto err;