Re: [PATCH v3 0/6] Static calls

From: Linus Torvalds
Date: Fri Jan 11 2019 - 15:12:52 EST


On Fri, Jan 11, 2019 at 12:04 PM Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
>
> But really, to me, having to create and manage all those custom
> trampolines still feels a lot more complex than just making a gap on the
> stack.

There are no "all those custom trampolines".

There is literally *one* custom trampoline that you generate as you do
the rewriting.

Well, two, since you need the version with the "sti" before the jmp.

It would be possible to generate the custom trampoline on the fly in
the BP handler itself, and just have a magic flag for that case. But
it's probably simpler to do it in the caller, since you need to
generate that special writable and executable code sequence. You
probably don't want to do that at BP time.

You probably want to use a FIX_TEXT_POKE2 page for the generated
sequence that just maps some generated code executably for a short
while. Or something like that.

Linus

Linus