lkml.org 
[lkml]   [2012]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] kmemleak: do not leak object after tree insertion error (v3)
 [PATCH] kmemleak: do not leak object after tree insertion error

In case when tree insertion fails due to already existing object
error, pointer to allocated object gets lost because of overwrite
with lookup_object() return. Free allocated object before object
lookup.

Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>

---

mm/kmemleak.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/mm/kmemleak.c b/mm/kmemleak.c
index 45eb621..5f05993 100644
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
@@ -578,6 +578,7 @@ static struct kmemleak_object *create_object(unsigned long ptr, size_t size,
if (node != &object->tree_node) {
kmemleak_stop("Cannot insert 0x%lx into the object search tree "
"(already existing)\n", ptr);
+ kmem_cache_free(object_cache, object);
object = lookup_object(ptr, 1);
spin_lock(&object->lock);
dump_object_info(object);


\
 
 \ /
  Last update: 2012-04-18 22:37    [W:0.026 / U:0.320 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site