From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kohli, Gaurav" Subject: Re: Query: Crash is coming during /prod/PID/stat and do_exit of same task Date: Tue, 16 Jan 2018 15:14:59 +0530 Message-ID: <9982db93-e392-f6da-e70b-d38d818cd4ff@codeaurora.org> References: <20180110052017.GB2829@avx2> <20180116072008.GA6918@avx2> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20180116072008.GA6918@avx2> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Alexey Dobriyan Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org On 1/16/2018 12:50 PM, Alexey Dobriyan wrote: > On Tue, Jan 16, 2018 at 11:06:47AM +0530, Kohli, Gaurav wrote: >> On 1/10/2018 10:50 AM, Alexey Dobriyan wrote: >> >>>> We are seeing crash in do_task_stat while accessing stack pointer, It >>>> seems same task has already completed do_exit call. >>>> So it seems a race between them: >>> Please, post exact kernel version and struct task_struct::usage if you >>> still have that kernel core (or even full task_struct) >> Hi Alexey, >> >> We are working on 4.9.65 and Please find below usage value and other task_struct value, >> please let me know if some other data required as well. > Kernel stacks live their own lives nowadays, the code needs try_get_task_stack(). > Hi Alexey, Yes , agree we have to put some check like below   if (permitted && (task->flags & PF_DUMPCORE) && try_get_task_stack(task)) {                         eip = KSTK_EIP(task);                         esp = KSTK_ESP(task);                 } Or instead of this also , can't we check whether task is in exiting path or not by checking some flags like PF_EXITING. Regards Gaurav -- Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.