Re: [PATCH 4.4 00/37] 4.4.110-stable review

From: Thomas Gleixner
Date: Thu Jan 11 2018 - 15:38:04 EST


On Thu, 11 Jan 2018, Linus Torvalds wrote:

> [ Patch to make sure the EFI trampoline_pgd is properly aligned and
> has the double pgd that KPTI requires ]
>
> On Thu, Jan 11, 2018 at 10:40 AM, Pavel Tatashin
> <pasha.tatashin@xxxxxxxxxx> wrote:
> > If it is better to resubmit this patch via git send-email, please let me know.
>
> It would be better, because that way the patch can be more easily
> quoted and discussed.
>
> That said, I do not see why this isn't an issue upstream too.
>
> As far as I can tell, it's not just 4.4.110. Our current entry code
> does that ADJUST_KERNEL_CR3 dance too, which clears the
> PTI_SWITCH_MASK bit from cr3.
>
> And that realmode trampoline pgd seems all to be just aligned to PAGE_SIZE.

Right, but see below.

> Now, in the modern world, we generate new page tables for EFI, but we
> still have that EFI_OLD_MEMMAP code that disables that. And afaik,
> EFI_OLD_MEMMAP has the exact same problem that your patch fixes in 4.4
> (where it's always on).
>
> So I think this patch should go into the development kernel too.
>
> Or maybe it already is, and I just haven't gotten it yet.

It's not. There is an efi oldmap fix pending, but that's a different story.

> Or - even more likely - I'm missing something entirely, and even
> EFI_OLD_MEMMAP solved this some other way upstream.

67a9108ed431 ("x86/efi: Build our own page table structures")

got rid of EFI depending on real_mode_header->trampoline_pgd

So I don't see how upstream needs the fix as the trampoline_pgd seems only
to be used when coming out of the boot loader.

Adding Matt. He stepped back from EFI, but he might still know.

> Adding Thomas Gleixner explicitly to the participants so that he can
> tell me I'm a moron and point me to the right thing.

Your wish is my command, but I need to stare some more before doing so.

Thanks,

tglx