Re: [PATCH 00/37 v6] PTI support for x86-32

From: Joerg Roedel
Date: Mon Apr 23 2018 - 13:45:24 EST


On Mon, Apr 23, 2018 at 09:45:38AM -0700, Linus Torvalds wrote:
> Just one question: have you checked the page table setup for the
> basics wrt the USER bit in particular?

Just checked that and there are no pages with GLB and USR set, not even
a vdso page.

> No global pages should be marked PAGE_USER, with the possible
> exception of that nasty old vsyscall page.

The vsyscall page does not exist on plain 32 bit, no? All I could find
there is the vdso page, and that has no compat mapping anymore in recent
upstream kernels. To my understanding the vdso page is mapped into the
user-space portion of the address space. At least that is what I found
while looking at this, but I might have missed something.

I actually ran into a vdso issue when porting these changes to 3.0
(where there still is a compat vdso mapping in the fixmap) so I checked
my upstream code too, but didn't find the code to setup a vdso in the
fixmap.

> And it would be nice to verify that the page tables for kernel
> mappings also don't have PAGE_USER on them, although again that
> vsyscall page can cause problems.

Checked that too, all USR mappings are below PAGE_OFFSET.


Regards,

Joerg