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

From: Josh Poimboeuf
Date: Fri Sep 16 2016 - 08:28:33 EST


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'.

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

--
Josh