summaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authordonald.d.dugger@intel.com <donald.d.dugger@intel.com>2008-10-17 07:49:50 -0700
committerLen Brown <len.brown@intel.com>2008-10-22 18:01:22 -0400
commit383d7a11c9989205db44c7f1be339e5097062f03 (patch)
treecf9b185606dec0bb37aa8a4694e373a7c06445a2 /drivers/acpi
parentea5c8af9b1241a10dc4ba6cd2d2362c179884b74 (diff)
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')
-rw-r--r--drivers/acpi/pci_link.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
index cf47805a744..65bf4fa5963 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)