RE: tip/master falls off NOP cliff with KPTI under KVM

From: Thomas Gleixner
Date: Thu Jan 25 2018 - 14:13:28 EST


On Thu, 25 Jan 2018, Dexuan Cui wrote:
> > From: David Woodhouse [mailto:dwmw2@xxxxxxxxxxxxx]
> > Sent: Wednesday, January 24, 2018 23:53
> > On Wed, 2018-01-24 at 16:53 -0800, Dexuan-Linux Cui wrote:
> > > On Wed, Jan 10, 2018 at 2:53 PM, Woodhouse, David
> > <dwmw@xxxxxxxxxxxx> wrote:
> > > >
> > > > On Thu, 2018-01-11 at 01:34 +0300, Alexey Dobriyan wrote:
> > > > >
> > > > >
> > > > > Bisection points to
> > > > >
> > > > > ÂÂÂÂÂÂÂÂf3433c1010c6af61c9897f0f0447f81b991feac1 is the first bad
> > commit
> > > > > ÂÂÂÂÂÂÂÂcommit f3433c1010c6af61c9897f0f0447f81b991feac1
> > > > > ÂÂÂÂÂÂÂÂAuthor: David Woodhouse <dwmw@xxxxxxxxxxxx>
> > > > > ÂÂÂÂÂÂÂÂDate:ÂÂÂTue Jan 9 14:43:11 2018 +0000
> > > > >
> > > > > ÂÂÂÂÂÂÂÂÂÂÂÂx86/retpoline/entry: Convert entry assembler indirect jumps
> > > > Thanks. We've fixed the underlying problem with the alternatives
> > > > mechanism, *and* changed the retpoline code not to actually rely on
> > > > said fix.
> > > Hi David and all,
> > > It looks the latest upstream tree did fix the issue.
> > > Can you please specify the related commit(s) that fixed the issue?
> > > I need to cherry-pick the fix. I suppose a quick reply from you would save
> > > Âme a lot of time. :-)
> >
> > Hi Dexuan,
> >
> > The above commit didn't ever make it into Linus' tree in that form; the
> > issues were fixed beforehand. So there isn't a subsequent commit that
> > fixes it. I think it might have just been removing some .align 16 from
> > nospec-branch.h?
> >
> > The correct version has been backported to 4.9 and 4.4 releases
> > already; if you pulled in an early version directly from tip/x86/pti
> > then I'd recommend you drop it and pull in the real version instead.
>
> Thanks for the clarification, David!
> I'm going to pull the latest version from Linus's master branch.

The simpler solution is to pull from tip x86/pti which is still 4.14 based
and contains only the stuff which has to do with these issues. It's mostly
in Linus tree already except for the topmost 3 patches.

Thanks,

tglx