X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=mm%2Fkmemleak.c;h=e5355a5b423fa9fd61a77ebf7b94819ec2e199df;hb=c636e176d8e5afe2f3b3e3f1de33ec13f1cee308;hp=a5e453cf05c499cf5c7eeb9b66ce14936d4494fd;hpb=2778556474b1996aa68ae61619386b8802733bd8;p=cascardo%2Flinux.git diff --git a/mm/kmemleak.c b/mm/kmemleak.c index a5e453cf05c4..e5355a5b423f 100644 --- a/mm/kmemleak.c +++ b/mm/kmemleak.c @@ -1453,8 +1453,11 @@ static void kmemleak_scan(void) read_lock(&tasklist_lock); do_each_thread(g, p) { - 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); }