]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
lib/radix-tree.c: update the kmemleak stack trace for radix tree allocations
authorCatalin Marinas <catalin.marinas@arm.com>
Thu, 22 May 2014 00:54:37 +0000 (10:54 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 4 Jun 2014 07:51:13 +0000 (17:51 +1000)
Since radix_tree_preload() stack trace is not always useful for debugging
an actual radix tree memory leak, this patch updates the kmemleak
allocation stack trace in the radix_tree_node_alloc() function.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/radix-tree.c

index d64815651e90f42782b52a72292e52e393bf5866..3291a8e37490ecc9d9221f389d26d02c0ae1f103 100644 (file)
@@ -27,6 +27,7 @@
 #include <linux/radix-tree.h>
 #include <linux/percpu.h>
 #include <linux/slab.h>
+#include <linux/kmemleak.h>
 #include <linux/notifier.h>
 #include <linux/cpu.h>
 #include <linux/string.h>
@@ -200,6 +201,11 @@ radix_tree_node_alloc(struct radix_tree_root *root)
                        rtp->nodes[rtp->nr - 1] = NULL;
                        rtp->nr--;
                }
+               /*
+                * Update the allocation stack trace as this is more useful
+                * for debugging.
+                */
+               kmemleak_update_trace(ret);
        }
        if (ret == NULL)
                ret = kmem_cache_alloc(radix_tree_node_cachep, gfp_mask);