Re: [tip:x86/asm] x86/dumpstack: Pin the target stack when dumping it

From: Ingo Molnar
Date: Fri Sep 16 2016 - 08:58:13 EST



* Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:

> On Fri, Sep 16, 2016 at 06:55:57AM -0500, Josh Poimboeuf wrote:
> > On Fri, Sep 16, 2016 at 02:17:46AM -0700, tip-bot for Andy Lutomirski wrote:
> > > Commit-ID: 1959a60182f48879635812a03a99c02231ea8677
> > > Gitweb: http://git.kernel.org/tip/1959a60182f48879635812a03a99c02231ea8677
> > > Author: Andy Lutomirski <luto@xxxxxxxxxx>
> > > AuthorDate: Thu, 15 Sep 2016 22:45:45 -0700
> > > Committer: Ingo Molnar <mingo@xxxxxxxxxx>
> > > CommitDate: Fri, 16 Sep 2016 09:18:53 +0200
> > >
> > > x86/dumpstack: Pin the target stack when dumping it
> > >
> > > Specifically, pin the stack in save_stack_trace_tsk() and
> > > show_trace_log_lvl().
> > >
> > > This will prevent a crash if the target task dies before or while
> > > dumping its stack once we start freeing task stacks early.
> >
> > This causes a hang:
>
> The problem is that show_stack_log_lvl() can be called with a NULL
> task_struct pointer to indicate 'current'.

Could you please send a quick fix that addresses the hang by turning the NULL into
'current' or so?

> No idea why that convention exists -- IMO we should just require the
> caller to pass 'current' directly.

For hysterical raisins I believe. It appears just a single caller passes
non-current. Feel free to change this.

Thanks,

Ingo