diff options
author | donald.d.dugger@intel.com <donald.d.dugger@intel.com> | 2008-10-17 10:49:50 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-10-22 18:01:22 -0400 |
commit | 383d7a11c9989205db44c7f1be339e5097062f03 (patch) | |
tree | cf9b185606dec0bb37aa8a4694e373a7c06445a2 /drivers/acpi/pci_link.c | |
parent | ea5c8af9b1241a10dc4ba6cd2d2362c179884b74 (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/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) | |||
709 | acpi_device_bid(link->device))); | 709 | acpi_device_bid(link->device))); |
710 | 710 | ||
711 | if (link->refcnt == 0) { | 711 | if (link->refcnt == 0) { |
712 | acpi_ut_evaluate_object(link->device->handle, "_DIS", 0, NULL); | 712 | acpi_evaluate_object(link->device->handle, "_DIS", NULL, NULL); |
713 | } | 713 | } |
714 | mutex_unlock(&acpi_link_lock); | 714 | mutex_unlock(&acpi_link_lock); |
715 | return (link->irq.active); | 715 | return (link->irq.active); |
@@ -773,7 +773,7 @@ static int acpi_pci_link_add(struct acpi_device *device) | |||
773 | 773 | ||
774 | end: | 774 | end: |
775 | /* disable all links -- to be activated on use */ | 775 | /* disable all links -- to be activated on use */ |
776 | acpi_ut_evaluate_object(device->handle, "_DIS", 0, NULL); | 776 | acpi_evaluate_object(device->handle, "_DIS", NULL, NULL); |
777 | mutex_unlock(&acpi_link_lock); | 777 | mutex_unlock(&acpi_link_lock); |
778 | 778 | ||
779 | if (result) | 779 | if (result) |