Re: x86: warning in unwind_get_return_address

From: Josh Poimboeuf
Date: Thu Jan 05 2017 - 09:49:58 EST


On Tue, Dec 27, 2016 at 05:38:59PM +0100, Dmitry Vyukov wrote:
> On Thu, Dec 22, 2016 at 6:17 AM, Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> > On Wed, Dec 21, 2016 at 01:46:36PM +0100, Andrey Konovalov wrote:
> >> On Wed, Dec 21, 2016 at 12:36 AM, Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> >> >
> >> > Thanks. Looking at the stack trace, my guess is that an interrupt hit
> >> > while running in generated BPF code, and the unwinder got confused
> >> > because regs->ip points to the generated code. I may need to disable
> >> > that warning until we figure out a better solution.
> >> >
> >> > Can you share your .config file?
> >>
> >> Sure, attached.
> >
> > Ok, I was able to recreate with your config. The culprit was generated
> > code, as I suspected, though it wasn't BPF, it was a kprobe (created by
> > dccpprobe_init()).
> >
> > I'll make a patch to disable the warning.
>
> Hi,
>
> I am also seeing the following warnings:
>
> [ 281.889259] WARNING: kernel stack regs at ffff8801c29a7ea8 in
> syz-executor8:1302 has bad 'bp' value ffff8801c29a7f28
> [ 833.994878] WARNING: kernel stack regs at ffff8801c4e77ea8 in
> syz-executor1:13094 has bad 'bp' value ffff8801c4e77f28
>
> Can it also be caused by bpf/kprobe?

This is a different warning. I suspect it's due to unwinding the stack
of another CPU while it's running, which is still possible in a few
places. I'm going to have to disable all these warnings for now.

--
Josh