diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2010-07-19 11:54:16 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2010-07-19 11:54:16 +0100 |
commit | a7686a45c07462b78df5ac15fc696a86e57ccf91 (patch) | |
tree | 68f9f2961afc1deb714acabb53f48eb681b7441a /mm/kmemleak.c | |
parent | 9078370c0d2cfe4a905aa34f398bbb0d65921a2b (diff) | |
download | linux-a7686a45c07462b78df5ac15fc696a86e57ccf91.tar.gz linux-a7686a45c07462b78df5ac15fc696a86e57ccf91.tar.bz2 linux-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.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/kmemleak.c b/mm/kmemleak.c index 2c0d032ac898..c2c9feb3097f 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 |