Linus,

Please pull the latest core-debugobjects-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 
core-debugobjects-for-linus

   # HEAD: caba4cbbd27d755572730801ac34fe063fc40a32 debugobjects: Make kmemleak 
ignore debug objects

A single commit making debugobjects interact better with kmemleak.

 Thanks,

        Ingo

------------------>
Waiman Long (1):
      debugobjects: Make kmemleak ignore debug objects


 init/main.c        | 2 +-
 lib/debugobjects.c | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/init/main.c b/init/main.c
index 052481fbe363..7ec20cf7b111 100644
--- a/init/main.c
+++ b/init/main.c
@@ -651,8 +651,8 @@ asmlinkage __visible void __init start_kernel(void)
        }
 #endif
        page_ext_init();
-       debug_objects_mem_init();
        kmemleak_init();
+       debug_objects_mem_init();
        setup_per_cpu_pageset();
        numa_policy_init();
        if (late_time_init)
diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 17afb0430161..2f5349c6e81a 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -18,6 +18,7 @@
 #include <linux/debugfs.h>
 #include <linux/slab.h>
 #include <linux/hash.h>
+#include <linux/kmemleak.h>
 
 #define ODEBUG_HASH_BITS       14
 #define ODEBUG_HASH_SIZE       (1 << ODEBUG_HASH_BITS)
@@ -110,6 +111,7 @@ static void fill_pool(void)
                if (!new)
                        return;
 
+               kmemleak_ignore(new);
                raw_spin_lock_irqsave(&pool_lock, flags);
                hlist_add_head(&new->node, &obj_pool);
                debug_objects_allocated++;
@@ -1080,6 +1082,7 @@ static int __init 
debug_objects_replace_static_objects(void)
                obj = kmem_cache_zalloc(obj_cache, GFP_KERNEL);
                if (!obj)
                        goto free;
+               kmemleak_ignore(obj);
                hlist_add_head(&obj->node, &objects);
        }
 

Reply via email to