lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-Id: <200810132128.m9DLSdal028794@los-vmm.sc.intel.com>
Date:	Mon, 13 Oct 2008 14:28:39 -0700
From:	donald.d.dugger@...el.com
To:	linux-kernel@...r.kernel.org
Subject: [PATCH] Fix possible NULL ptr dereference in ACPI code

Code in file `drivers/acpi/pci_link.c' is attempting to evaluate the _DIS
method to disable a link.  Unfortunately, the method code unconditionally
uses the last argument as a pointer on success so passing a NULL could
wind up dereferencing 0.  This patch just passes an appropriate pointer
to avoid this issue.

Signed-off-by: Don Dugger <donald.d.dugger@...el.com>

----- cut here for acpi-1013.patch -----
diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
index cf47805..1d03a1f 100644
--- a/drivers/acpi/pci_link.c
+++ b/drivers/acpi/pci_link.c
@@ -671,6 +671,7 @@ int acpi_pci_link_free_irq(acpi_handle handle)
 {
 	struct acpi_device *device = NULL;
 	struct acpi_pci_link *link = NULL;
+	union acpi_operand_object *dummy;
 	acpi_status result;
 
 
@@ -709,7 +710,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_ut_evaluate_object(link->device->handle, "_DIS", 0, &dummy);
 	}
 	mutex_unlock(&acpi_link_lock);
 	return (link->irq.active);
@@ -721,6 +722,7 @@ int acpi_pci_link_free_irq(acpi_handle handle)
 
 static int acpi_pci_link_add(struct acpi_device *device)
 {
+	union acpi_operand_object *dummy;
 	int result = 0;
 	struct acpi_pci_link *link = NULL;
 	int i = 0;
@@ -773,7 +775,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_ut_evaluate_object(device->handle, "_DIS", 0, &dummy);
 	mutex_unlock(&acpi_link_lock);
 
 	if (result)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ