Re: [PATCH 0/3] Kill off show_stack() NULL-implies-current idiom

From: Mark Rutland
Date: Tue Sep 27 2016 - 13:57:37 EST


On Mon, Sep 26, 2016 at 03:01:36PM -0500, Josh Poimboeuf wrote:
> On Mon, Sep 26, 2016 at 04:16:16PM +0100, Mark Rutland wrote:
> > Today, show_stack() accepts a NULL task parameter, which it takes to mean the
> > current task. However, as noted in tip/x86/asm commit:
> >
> > 81539169f283329f ("x86/dumpstack: Remove NULL task pointer convention")
> >
> > ... having a NULL task parameter imply current leads to subtle bugs in stack
> > walking code (so far seen on both 86 and arm64), makes callsites harder to
> > read, and is unnecessary as all callers have access to current.
> >
> > As a step towards removing the problematic NULL-implies-current idiom entirely,
> > these patches ensure that generic code explictly passes current to
> > show_stack(), rather than relying on arch code to handle NULL.
>
> This is a good step, though it would be really nice to fix this
> tree-wide. Do you have any plans to do so?

I started having a go, and in doing so I've realised that as things stand,
these patches are broken, as some architectures don't handle current
explicitly.

Please disregard all patches in this series.

Apologies,
Mark.