Re: [PATCH] x86/retpoline: Fill return stack buffer on vmexit

From: Borislav Petkov
Date: Thu Jan 11 2018 - 04:48:19 EST


On Thu, Jan 11, 2018 at 10:32:31AM +0100, Peter Zijlstra wrote:
> can't you do lovely things like:
>
> volatile asm ("call __fill_rsb_thunk_%1" : : "r" (dummy))
>
> which would still let gcc select the register ?

Calling a function from asm is nasty because you need to pay attention
to clobbered registers as gcc doesn't see the function.

What one can do, I *think*, is do a non-inlined wrapping function and do
all the alternative_call() fun inside. There you can do all the fun and
have callee-clobbered regs which you can use.

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.