summaryrefslogtreecommitdiff
path: root/mm/kmemleak.c
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2010-07-19 11:54:16 +0100
committerCatalin Marinas <catalin.marinas@arm.com>2010-07-19 11:54:16 +0100
commita7686a45c07462b78df5ac15fc696a86e57ccf91 (patch)
tree68f9f2961afc1deb714acabb53f48eb681b7441a /mm/kmemleak.c
parent9078370c0d2cfe4a905aa34f398bbb0d65921a2b (diff)
downloadlinux-3.10-a7686a45c07462b78df5ac15fc696a86e57ccf91.tar.gz
linux-3.10-a7686a45c07462b78df5ac15fc696a86e57ccf91.tar.bz2
linux-3.10-a7686a45c07462b78df5ac15fc696a86e57ccf91.zip
kmemleak: Show more information for objects found by alias
There may be situations when an object is freed using a pointer inside the memory block. Kmemleak should show more information to help with debugging. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
Diffstat (limited to 'mm/kmemleak.c')
-rw-r--r--mm/kmemleak.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/kmemleak.c b/mm/kmemleak.c
index 2c0d032ac89..c2c9feb3097 100644
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
@@ -398,7 +398,9 @@ static struct kmemleak_object *lookup_object(unsigned long ptr, int alias)
object = prio_tree_entry(node, struct kmemleak_object,
tree_node);
if (!alias && object->pointer != ptr) {
- kmemleak_warn("Found object by alias");
+ pr_warning("Found object by alias at 0x%08lx\n", ptr);
+ dump_stack();
+ dump_object_info(object);
object = NULL;
}
} else