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: