Re: v4.10: kernel stack frame pointer .. has bad value (null)

From: Josh Poimboeuf
Date: Wed Feb 22 2017 - 16:15:44 EST


On Wed, Feb 22, 2017 at 12:51:11PM -0800, H. Peter Anvin wrote:
> On 02/22/17 08:45, Josh Poimboeuf wrote:
> >>
> >> FWIW, it would be really darned nice to not have all those zeroes in a
> >> 32-bit stack frame dump.
> >
> > Yeah, I'll fix that.
> >
> >> Is not a zero stack frame pointer value an end of stack token?
> >
> > There's no end of stack "token" per se, though any frame pointer value
> > outside the bounds of the stack will terminate the stack trace (and that
> > still happened here).
> >
>
> Well, my understanding is that at least gdb and perhaps other unwinders
> consider a zero stack frame pointer to be an indicator that the stack
> has reached its end. That's why I'm wondering if this is possible in
> this case or if it is unlikely because of the value.

I'm not sure I follow your question. The frame pointer was zero, and
that did cause the unwinder to stop the stack trace. The warning was
because it ended in an unexpected place.

> > The warning is because the stack trace didn't make it all the way to the
> > "end" location of the stack (right before the syscall pt_regs location).
> > The warning is part of the effort to ensure reliable stacks.
>
> It would be useful to get an understanding why...

Agreed...

--
Josh