Re: [PATCH v11 03/20] x86/stackvalidate: Compile-time stack validation

From: Josh Poimboeuf
Date: Fri Aug 28 2015 - 15:55:07 EST


On Fri, Aug 28, 2015 at 07:26:23PM +0200, Andi Kleen wrote:
> > > BTW how do handle the increasing number of JITs in the kernel?
> >
> > Yeah, compile-time CFI wouldn't be applicable for code which is
> > generated at runtime. Maybe we will need a mechanism to allow eBPF to
> > quickly create minimal CFI-like metadata corresponding to the JIT code
> > it generates, which can be used by stack dumping code to identify the
> > JIT code and find the previous stack pointer on the stack.
>
> Perhaps I'm missing something, but for the hot patching you need
> some solution for this, as you rely on 100% accuracy. Right?

We'll probably need something like that eventually, once we have an
in-kernel CFI unwinder. Until then, for live patching we would just
need to make sure the JIT generated code honors CONFIG_FRAME_POINTER.

> I guess for now it could be some kind of big reader/writer lock
> for JIT code and reject hot patching if something is active there.

Yeah, maybe. Another easy way to handle it would be to bail if we can't
find the CFI for a given address on a task's stack.

--
Josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/