X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=mm%2Fkmemleak.c;h=c0014d3b91c10f2689f99d83c9ba2bd04cbbfea7;hb=24880bef417f6e9069158c750969d18793427a10;hp=5e252d91eb14b1e717daf28f934462f47f12ee87;hpb=05909cd9a0c8811731b38697af13075e8954314f;p=linux-2.6-microblaze.git diff --git a/mm/kmemleak.c b/mm/kmemleak.c index 5e252d91eb14..c0014d3b91c1 100644 --- a/mm/kmemleak.c +++ b/mm/kmemleak.c @@ -1471,15 +1471,15 @@ static void kmemleak_scan(void) if (kmemleak_stack_scan) { struct task_struct *p, *g; - read_lock(&tasklist_lock); - do_each_thread(g, p) { + rcu_read_lock(); + for_each_process_thread(g, p) { void *stack = try_get_task_stack(p); if (stack) { scan_block(stack, stack + THREAD_SIZE, NULL); put_task_stack(p); } - } while_each_thread(g, p); - read_unlock(&tasklist_lock); + } + rcu_read_unlock(); } /*