summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCatalin Marinas2009-06-29 18:13:57 +0200
committerCatalin Marinas2009-06-29 18:14:14 +0200
commitb6e687221eb840bacd4d4a991e5f8e7ed3ae910a (patch)
tree0990d2d2b044ffa0210807e4fe251a4be9306629
parentkmemleak: Do not report new leaked objects if the scanning was stopped (diff)
downloadkernel-qcow2-linux-b6e687221eb840bacd4d4a991e5f8e7ed3ae910a.tar.gz
kernel-qcow2-linux-b6e687221eb840bacd4d4a991e5f8e7ed3ae910a.tar.xz
kernel-qcow2-linux-b6e687221eb840bacd4d4a991e5f8e7ed3ae910a.zip
kmemleak: Do not warn if an unknown object is freed
vmap'ed memory blocks are not tracked by kmemleak (yet) but they may be released with vfree() which is tracked. The corresponding kmemleak warning is only enabled in debug mode. Future patch will add support for ioremap and vmap. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r--mm/kmemleak.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/kmemleak.c b/mm/kmemleak.c
index e094c4dbdf55..eeece2deace2 100644
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
@@ -531,8 +531,10 @@ static void delete_object(unsigned long ptr)
write_lock_irqsave(&kmemleak_lock, flags);
object = lookup_object(ptr, 0);
if (!object) {
+#ifdef DEBUG
kmemleak_warn("Freeing unknown object at 0x%08lx\n",
ptr);
+#endif
write_unlock_irqrestore(&kmemleak_lock, flags);
return;
}