Re: Query: Crash is coming during /prod/PID/stat and do_exit of same task

From: Kohli, Gaurav
Date: Tue Jan 16 2018 - 04:45:08 EST


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.