From 226206b8885c8395071436931e2d794fa40bcf99 Mon Sep 17 00:00:00 2001 From: Catalin Marinas Date: Tue, 1 Sep 2009 11:12:44 +0100 Subject: [PATCH] --- yaml --- r: 157418 b: refs/heads/master c: 43ed5d6ee0f9bfd655d6bc3cb2d964b80c4422c0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/kmemleak.c | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 1bde8dfc05b3..694ea04c13ac 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8e019366ba749a536131cde1947af6dcaccf8e8f +refs/heads/master: 43ed5d6ee0f9bfd655d6bc3cb2d964b80c4422c0 diff --git a/trunk/mm/kmemleak.c b/trunk/mm/kmemleak.c index c494fee7a2b5..74d4089d7588 100644 --- a/trunk/mm/kmemleak.c +++ b/trunk/mm/kmemleak.c @@ -1074,7 +1074,6 @@ static void kmemleak_scan(void) { unsigned long flags; struct kmemleak_object *object, *tmp; - struct task_struct *task; int i; int new_leaks = 0; int gray_list_pass = 0; @@ -1141,15 +1140,16 @@ static void kmemleak_scan(void) } /* - * Scanning the task stacks may introduce false negatives and it is - * not enabled by default. + * Scanning the task stacks (may introduce false negatives). */ if (kmemleak_stack_scan) { + struct task_struct *p, *g; + read_lock(&tasklist_lock); - for_each_process(task) - scan_block(task_stack_page(task), - task_stack_page(task) + THREAD_SIZE, - NULL, 0); + do_each_thread(g, p) { + scan_block(task_stack_page(p), task_stack_page(p) + + THREAD_SIZE, NULL, 0); + } while_each_thread(g, p); read_unlock(&tasklist_lock); }