Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932695AbcJLKWx (ORCPT ); Wed, 12 Oct 2016 06:22:53 -0400 Received: from out0-145.mail.aliyun.com ([140.205.0.145]:59265 "EHLO out0-145.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932557AbcJLKWs (ORCPT ); Wed, 12 Oct 2016 06:22:48 -0400 X-Greylist: delayed 334 seconds by postgrey-1.27 at vger.kernel.org; Wed, 12 Oct 2016 06:22:48 EDT X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R151e4;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e02c03306;MF=hillf.zj@alibaba-inc.com;NM=1;PH=DS;RN=6;SR=0;TI=SMTPD_---.72ZDf44_1476267406; Reply-To: "Hillf Danton" From: "Hillf Danton" To: "'Catalin Marinas'" , Cc: , "'Andrew Morton'" , "'Andy Lutomirski'" , "'CAI Qian'" References: <1476266223-14325-1-git-send-email-catalin.marinas@arm.com> In-Reply-To: <1476266223-14325-1-git-send-email-catalin.marinas@arm.com> Subject: Re: [PATCH] mm: kmemleak: Ensure that the task stack is not freed during scanning Date: Wed, 12 Oct 2016 18:16:46 +0800 Message-ID: <00ca01d22471$bcef4ef0$36cdecd0$@alibaba-inc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQLA3FJM7Ybg9mqAwBXAZL+eFqKAdJ7HKUDg Content-Language: zh-cn Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 538 Lines: 19 > @@ -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); > } >