Module Name:    src
Committed By:   jruoho
Date:           Thu Mar  4 08:44:55 UTC 2010

Modified Files:
        src/sys/dev/acpi: atk0110.c

Log Message:
Provide the _COMPONENT definition and use ACPI_FREE(x) instead of
AcpiOsFree(). If the memory tracking of ACPICA is enabled, the latter is
guaranteed to leak memory, possibly also corrupting kernel memory.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/dev/acpi/atk0110.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/acpi/atk0110.c
diff -u src/sys/dev/acpi/atk0110.c:1.6 src/sys/dev/acpi/atk0110.c:1.7
--- src/sys/dev/acpi/atk0110.c:1.6	Tue Mar  2 18:44:47 2010
+++ src/sys/dev/acpi/atk0110.c	Thu Mar  4 08:44:55 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: atk0110.c,v 1.6 2010/03/02 18:44:47 jruoho Exp $	*/
+/*	$NetBSD: atk0110.c,v 1.7 2010/03/04 08:44:55 jruoho Exp $	*/
 /*	$OpenBSD: atk0110.c,v 1.1 2009/07/23 01:38:16 cnst Exp $	*/
 
 /*
@@ -18,7 +18,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: atk0110.c,v 1.6 2010/03/02 18:44:47 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: atk0110.c,v 1.7 2010/03/04 08:44:55 jruoho Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -42,6 +42,9 @@
  *				  -- Constantine A. Murenin <http://cnst.su/>
  */
 
+#define _COMPONENT		 ACPI_RESOURCE_COMPONENT
+ACPI_MODULE_NAME		 ("acpi_aibs")
+
 #define AIBS_MORE_SENSORS
 
 struct aibs_sensor {
@@ -168,14 +171,14 @@
 	o = bp->Package.Elements;
 	if (o[0].Type != ACPI_TYPE_INTEGER) {
 		aprint_error_dev(self, "%s[0]: invalid type\n", name);
-		AcpiOsFree(b.Pointer);
+		ACPI_FREE(b.Pointer);
 		return;
 	}
 
 	n = o[0].Integer.Value;
 	if (bp->Package.Count - 1 < n) {
 		aprint_error_dev(self, "%s: invalid package\n", name);
-		AcpiOsFree(b.Pointer);
+		ACPI_FREE(b.Pointer);
 		return;
 	} else if (bp->Package.Count - 1 > n) {
 		int on = n;
@@ -189,14 +192,14 @@
 	if (n < 1) {
 		aprint_error_dev(self, "%s: no members in the package\n",
 		    name);
-		AcpiOsFree(b.Pointer);
+		ACPI_FREE(b.Pointer);
 		return;
 	}
 
 	as = malloc(sizeof(*as) * n, M_DEVBUF, M_NOWAIT | M_ZERO);
 	if (as == NULL) {
 		aprint_error_dev(self, "%s: malloc fail\n", name);
-		AcpiOsFree(b.Pointer);
+		ACPI_FREE(b.Pointer);
 		return;
 	}
 	switch (st) {
@@ -255,7 +258,7 @@
 			    name[0], i);
 	}
 
-	AcpiOsFree(b.Pointer);
+	ACPI_FREE(b.Pointer);
 	return;
 }
 
@@ -327,7 +330,7 @@
 	}
 	bp = b.Pointer;
 	v = bp->Integer.Value;
-	AcpiOsFree(b.Pointer);
+	ACPI_FREE(b.Pointer);
 
 	switch (st) {
 	case ENVSYS_STEMP:

Reply via email to