summaryrefslogtreecommitdiff
path: root/drivers/acpi/acpi_processor.c
diff options
context:
space:
mode:
authorHanjun Guo <hanjun.guo@linaro.org>2013-05-31 11:36:08 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-06-01 22:23:39 +0200
commit173a5a4c909789fcd57d00355d2237618a3824a4 (patch)
tree612b1a86e74a833e9412f992cbc4f75b641478bc /drivers/acpi/acpi_processor.c
parent242831eb15a06fa4414eaa705fdc6dd432ab98d1 (diff)
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>
Diffstat (limited to 'drivers/acpi/acpi_processor.c')
-rw-r--r--drivers/acpi/acpi_processor.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
index 157e7389a5ff..e9b01e35ac37 100644
--- a/drivers/acpi/acpi_processor.c
+++ b/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;