diff options
author | donald.d.dugger@intel.com <donald.d.dugger@intel.com> | 2008-10-17 18:49:50 +0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-10-23 02:01:22 +0400 |
commit | 383d7a11c9989205db44c7f1be339e5097062f03 (patch) | |
tree | cf9b185606dec0bb37aa8a4694e373a7c06445a2 /drivers/acpi/pci_link.c | |
parent | ea5c8af9b1241a10dc4ba6cd2d2362c179884b74 (diff) | |
download | linux-383d7a11c9989205db44c7f1be339e5097062f03.tar.xz |
ACPI: Fix possible null ptr dereference
Code in `pci_link.c' is calling the internal routine `acpi_ut_evaluate_object'
which is dangerous given that it is passing a NULL pointer when it should
be passing a pointer to a real object. The patch corrects the issue by
having the code call the external routine `acpi_evaluate_object', which
correctly handles a NULL pointer.
Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/pci_link.c')
-rw-r--r-- | drivers/acpi/pci_link.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c index cf47805a7448..65bf4fa59633 100644 --- a/drivers/acpi/pci_link.c +++ b/drivers/acpi/pci_link.c @@ -709,7 +709,7 @@ int acpi_pci_link_free_irq(acpi_handle handle) acpi_device_bid(link->device))); if (link->refcnt == 0) { - acpi_ut_evaluate_object(link->device->handle, "_DIS", 0, NULL); + acpi_evaluate_object(link->device->handle, "_DIS", NULL, NULL); } mutex_unlock(&acpi_link_lock); return (link->irq.active); @@ -773,7 +773,7 @@ static int acpi_pci_link_add(struct acpi_device *device) end: /* disable all links -- to be activated on use */ - acpi_ut_evaluate_object(device->handle, "_DIS", 0, NULL); + acpi_evaluate_object(device->handle, "_DIS", NULL, NULL); mutex_unlock(&acpi_link_lock); if (result) |