Messages in this thread | | | From | Nadav Amit <> | Subject | Re: [RFC][PATCH 03/10] x86/mm: introduce "default" kernel PTE mask | Date | Thu, 22 Feb 2018 22:21:34 +0000 |
| |
Dave Hansen <dave.hansen@linux.intel.com> wrote:
> > From: Dave Hansen <dave.hansen@linux.intel.com> > > The __PAGE_KERNEL_* page permissions are "raw". They contain bits > that may or may not be supported on the current processor. They > need to be filtered by a mask (currently __supported_pte_mask) to > turn them into a value that we can actually set in a PTE. > > These __PAGE_KERNEL_* values all contain _PAGE_GLOBAL. But, with > PTI, we want to be able to support _PAGE_GLOBAL (have the bit set > in __supported_pte_mask) but not have it appear in any of these > masks by default.
There might be a potential issue with this approach. __supported_pte_mask is exported, so out-of-tree modules might use it. They therefore can unknowingly use this value to set PTEs with _PAGE_GLOBAL set.
I do not know if it is a real issue, but leaving __supported_pte_mask as it is now (with _PAGE_GLOBAL masked), and using a different variable for with _PAGE_GLOBAL unmasked (i.e., the real “__supported_pte_mask”) can solve it.
| |