Browse Source

ACPI / processor: Fix potential NULL pointer dereference in acpi_processor_add()

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>
Hanjun Guo 12 years ago
parent
commit
173a5a4c90
1 changed files with 5 additions and 0 deletions
  1. 5 0
      drivers/acpi/acpi_processor.c

+ 5 - 0
drivers/acpi/acpi_processor.c

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