Re: [PATCH] mm: kmemleak: Ensure that the task stack is not freed during scanning

From: Hillf Danton
Date: Wed Oct 12 2016 - 06:25:55 EST


> @@ -1453,8 +1453,11 @@ static void kmemleak_scan(void)
>
> read_lock(&tasklist_lock);
> do_each_thread(g, p) {

Take a look at this commit please.
1da4db0cd5 ("oom_kill: change oom_kill.c to use for_each_thread()")

> - scan_block(task_stack_page(p), task_stack_page(p) +
> - THREAD_SIZE, NULL);
> + 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);
> }
>