Re: [RFC GIT PULL] x86 Page Table Isolation (PTI) syscall entry code preparatory patches

From: Linus Torvalds
Date: Sat Dec 16 2017 - 18:09:08 EST


On Fri, Dec 15, 2017 at 5:58 PM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> These are the x86-64 low level entry code preparatory patches for the page table
> isolation patches - which are required for PTI, which addresses KASLR and similar
> information leaks.

Ugh.

Ok, I've read through this, and while I like most of it (I do like the
percpu syscall stack), I have this urge to wait until after rc4. With
the suspend/resume issues, we've had a horrible track record for 4.15
rc's so far, I'l like to not pull another low-level x86 change just
before an rc release and potentially make it four for four broken
rc's.

And I absolutely detest how that cherry-pick branch was done. I can
see why, but:

- now we have those extra cherry-picks that I already have

- and the merge commit isn't even a no-op!

Dammit, if the point was to have a branch that worked for 4.14, I can
see that. But look at that merge (on the "other side"), and notice how
the end result is *not* identical to the parent.

IOW, that

9a818d1a3235 Merge branch 'WIP.x86/pti.base' into x86/pti, to pick
up cherry-picked base tree and preparatory patches

was supposed to be a synchronization point, but if you do

git diff 9a818d1a3235..9a818d1a3235^

it isn't actually synchronized. It's *almost* synchronized, but not
quite. How did those cherry-picks that were already upstream end up
causing *changes* upstream? That's odd.

So there are some technical oddities in there.

I'll read through it tomorrow again.. Maybe I'll change my mind.

Linus