Re: [PATCH 23/33] x86/asm/bpf: Create stack frames in bpf_jit.S

From: Ingo Molnar
Date: Fri Jan 22 2016 - 02:36:58 EST



* Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote:

> > > I could be missing something. I think either this patch is not need or you
> > > need to teach the tool to ignore all JITed stuff. I don't think it's
> > > practical to annotate everything. Different JITs do their own magic. s390
> > > JIT is even more fancy.
> >
> > Well, but the point of these patches isn't to make the tool happy. It's
> > really to make sure that runtime stack traces can be made reliable. Maybe I'm
> > missing something but I don't see why JIT code can't honor
> > CONFIG_FRAME_POINTER just like any other code.
>
> It can if there is no performance cost added. I can speak for x64 JIT, but the
> rest needs to be analyzed as well. My point was that may be it's easier to
> ignore all JITed code and just say that such call stacks may be unreliable?
> live-patching is not applicable to JITed code anyway or you want to livepatch
> the callees of it?

So the rule is that if frame pointers are enabled all kernel code should have
correct stack frames - in case an IRQ (or NMI) hits it or it crashes.

Thanks,

Ingo