Re: [PATCH v3 01/13] x86/retpoline: Add initial retpoline support

From: Josh Poimboeuf
Date: Mon Jan 08 2018 - 00:06:32 EST


On Sat, Jan 06, 2018 at 01:30:59AM +0100, Borislav Petkov wrote:
> On Fri, Jan 05, 2018 at 11:08:06AM -0600, Josh Poimboeuf wrote:
> > I seem to recall that we also discussed the need for this for converting
> > pvops to use alternatives, though the "why" is eluding me at the moment.
>
> Ok, here's something which seems to work in my VM here. I'll continue
> playing with it tomorrow. Josh, if you have some example sequences for
> me to try, send them my way pls.

Here's the use case I had in mind before. With paravirt,

ENABLE_INTERRUPTS(CLBR_NONE)

becomes

push %rax
call *pv_irq_ops.irq_enable
pop %rax

and I wanted to apply those instructions with an alternative. It
doesn't work currently because the 'call' isn't first.

--
Josh