Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ACPICA: acpiexec: Add option to dump extra info for memory leaks

ACPICA commit f77565e28b90ee7e06f53a474183ef72300c3574

Dump entire object/buffer for any memory leaks detected by
the object/cache tracking mechanism.

Link: https://github.com/acpica/acpica/commit/f77565e2
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

authored by

Bob Moore and committed by
Rafael J. Wysocki
894b5cc5 f13c274d

+18 -5
+1
drivers/acpi/acpica/acglobal.h
··· 164 164 ACPI_GLOBAL(struct acpi_memory_list *, acpi_gbl_ns_node_list); 165 165 ACPI_GLOBAL(u8, acpi_gbl_display_final_mem_stats); 166 166 ACPI_GLOBAL(u8, acpi_gbl_disable_mem_tracking); 167 + ACPI_GLOBAL(u8, acpi_gbl_verbose_leak_dump); 167 168 #endif 168 169 169 170 /*****************************************************************************
+5 -5
drivers/acpi/acpica/utdecode.c
··· 284 284 285 285 static const char *acpi_gbl_desc_type_names[] = { 286 286 /* 00 */ "Not a Descriptor", 287 - /* 01 */ "Cached", 287 + /* 01 */ "Cached Object", 288 288 /* 02 */ "State-Generic", 289 289 /* 03 */ "State-Update", 290 290 /* 04 */ "State-Package", ··· 295 295 /* 09 */ "State-Result", 296 296 /* 10 */ "State-Notify", 297 297 /* 11 */ "State-Thread", 298 - /* 12 */ "Walk", 299 - /* 13 */ "Parser", 300 - /* 14 */ "Operand", 301 - /* 15 */ "Node" 298 + /* 12 */ "Tree Walk State", 299 + /* 13 */ "Parse Tree Op", 300 + /* 14 */ "Operand Object", 301 + /* 15 */ "Namespace Node" 302 302 }; 303 303 304 304 const char *acpi_ut_get_descriptor_name(void *object)
+12
drivers/acpi/acpica/uttrack.c
··· 588 588 acpi_ut_get_descriptor_name 589 589 (descriptor)); 590 590 591 + /* Optional object hex dump */ 592 + 593 + if (acpi_gbl_verbose_leak_dump) { 594 + acpi_os_printf("\n"); 595 + acpi_ut_dump_buffer((u8 *) 596 + descriptor, 597 + element-> 598 + size, 599 + DB_BYTE_DISPLAY, 600 + 0); 601 + } 602 + 591 603 /* Validate the descriptor type using Type field and length */ 592 604 593 605 descriptor_type = 0; /* Not a valid descriptor type */