[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <46269171-ff57-8afd-f36b-40e6519b6557@i-love.sakura.ne.jp>
Date: Fri, 20 Sep 2019 19:22:10 +0900
From: Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>
To: Dmitry Vyukov <dvyukov@...gle.com>, paulmck@...nel.org,
Petr Mladek <pmladek@...e.com>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>
Cc: syzbot <syzbot+18379f2a19bc62c12565@...kaller.appspotmail.com>,
Andrea Arcangeli <aarcange@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>, avagin@...il.com,
Christian Brauner <christian@...uner.io>, dbueso@...e.de,
LKML <linux-kernel@...r.kernel.org>,
Oleg Nesterov <oleg@...hat.com>, prsood@...eaurora.org,
syzkaller-bugs <syzkaller-bugs@...glegroups.com>,
Thomas Gleixner <tglx@...utronix.de>, Tejun Heo <tj@...nel.org>
Subject: Re: INFO: rcu detected stall in sys_exit_group
Calling printk() people.
On 2019/09/20 16:50, Dmitry Vyukov wrote:
>>> How it runs on top of an interrupt?
>>
>> It is not running on top of an interrupt. Its stack was dumped
>> separately.
>
> I see. Usually the first stack is the traceback of the current stack.
> So I was confused.
>
>>> And why one cpu tracebacks another one?
>>
>> The usual reason is because neither CPU's quiescent state was reported
>> to the RCU core, so the stall-warning code dumped both stacks.
>
> But should the other CPU traceback _itself_? Rather than being traced
> back by another CPU?
> E.g. see this report:
> https://github.com/google/syzkaller/blob/master/pkg/report/testdata/linux/report/350#L61-L83
> Here the overall problem was detected by C2, but then C1 traces back itself.
>
> ... however even in that case C0 and C3 are traced by C2:
> https://github.com/google/syzkaller/blob/master/pkg/report/testdata/linux/report/350#L84-L149
> I can't understand this...
> This makes understanding what happened harder because it's not easy to
> exclude things on other CPUs.
I think this should be
https://github.com/google/syzkaller/blob/master/pkg/report/testdata/linux/report/350#L84-L172
than #L84-L149 .
Is the reason these lines have "[ C2]" is that these lines were flushed (printk_caller_id()
was called) from log_output() from vprintk_store() from vprintk_emit() from vprintk_deferred()
from printk_deferred() from printk_safe_flush_line() from __printk_safe_flush() from
printk_safe_flush() from printk_safe_flush_on_panic() from panic() ?
Powered by blists - more mailing lists