Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 383d7a11 authored by donald.d.dugger@intel.com's avatar donald.d.dugger@intel.com Committed by Len Brown
Browse files

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: default avatarDon Dugger <donald.d.dugger@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent ea5c8af9
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -709,7 +709,7 @@ int acpi_pci_link_free_irq(acpi_handle handle)
			  acpi_device_bid(link->device)));
			  acpi_device_bid(link->device)));


	if (link->refcnt == 0) {
	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);
	mutex_unlock(&acpi_link_lock);
	return (link->irq.active);
	return (link->irq.active);
@@ -773,7 +773,7 @@ static int acpi_pci_link_add(struct acpi_device *device)


      end:
      end:
	/* disable all links -- to be activated on use */
	/* 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);
	mutex_unlock(&acpi_link_lock);


	if (result)
	if (result)