Re: [bzImage64_load] BUG: KASAN: stack-out-of-bounds in deref_stack_reg+0xb5/0x11a

From: Josh Poimboeuf
Date: Tue Nov 07 2017 - 12:24:08 EST


On Tue, Nov 07, 2017 at 08:32:19AM -0800, Linus Torvalds wrote:
> On Tue, Nov 7, 2017 at 1:32 AM, Fengguang Wu <fengguang.wu@xxxxxxxxx> wrote:
> >
> > [ 7.795097] Kprobe smoke test: started
> > [ 7.807563] ==================================================================
> > [ 7.808007] BUG: KASAN: stack-out-of-bounds in deref_stack_reg+0xb5/0x11a
>
> Ok, this is apparently with a new enough gcc to make it valid: gcc
> version 6.2.0.
>
> Adding Josh to the list of people, since it's in the unwinder. Josh,
> I'll forward the original report with full dmesg and config in
> private.

It looks like the unwinder got confused because of a kprobe breakpoint
at the beginning of the kprobe_target() function.

At least it only read a bad address *on* the stack. It didn't go off
beyond the stack -- it has safeguards for that.

I don't think there's a good solution for this, unless we had some kind
of unwinder integration with generated/patched code.

I think I'll just have to disable KASAN warnings in the ORC code.

--
Josh