Re: [RFC PATCH 00/16] PTI support for x86-32

From: Andy Lutomirski
Date: Tue Jan 16 2018 - 17:26:48 EST


On Tue, Jan 16, 2018 at 8:36 AM, Joerg Roedel <joro@xxxxxxxxxx> wrote:
> From: Joerg Roedel <jroedel@xxxxxxx>
>
> Hi,
>
> here is my current WIP code to enable PTI on x86-32. It is
> still in a pretty early state, but it successfully boots my
> KVM guest with PAE and with legacy paging. The existing PTI
> code for x86-64 already prepares a lot of the stuff needed
> for 32 bit too, thanks for that to all the people involved
> in its development :)
>
> The patches are split as follows:
>
> - 1-3 contain the entry-code changes to enter and
> exit the kernel via the sysenter trampoline stack.
>
> - 4-7 are fixes to get the code compile on 32 bit
> with CONFIG_PAGE_TABLE_ISOLATION=y.
>
> - 8-14 adapt the existing PTI code to work properly
> on 32 bit and add the needed parts to 32 bit
> page-table code.
>
> - 15 switches PTI on by adding the CR3 switches to
> kernel entry/exit.
>
> - 16 enables the Kconfig for all of X86
>
> The code has not run on bare-metal yet, I'll test that in
> the next days once I setup a 32 bit box again. I also havn't
> tested Wine and DosEMU yet, so this might also be broken.
>

If you pass all the x86 selftests, then Wine and DOSEMU are pretty
likely to work :)

--Andy