diff options
author | Hanjun Guo <hanjun.guo@linaro.org> | 2013-05-31 05:36:08 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-06-01 22:23:39 +0200 |
commit | 173a5a4c909789fcd57d00355d2237618a3824a4 (patch) | |
tree | 612b1a86e74a833e9412f992cbc4f75b641478bc /drivers/acpi | |
parent | Memory hotplug / ACPI: Simplify memory removal (diff) | |
download | linux-173a5a4c909789fcd57d00355d2237618a3824a4.tar.xz linux-173a5a4c909789fcd57d00355d2237618a3824a4.zip |
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')
-rw-r--r-- | drivers/acpi/acpi_processor.c | 5 |
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; |