On Thu, Feb 22, 2018 at 9:30 PM, Dave Hansen <dave.han...@linux.intel.com> wrote: > On 02/22/2018 01:27 PM, Nadav Amit wrote: >> Dave Hansen <dave.han...@linux.intel.com> wrote: >>> From: Dave Hansen <dave.han...@linux.intel.com> >>> In creating its page tables, the espfix code masks its PGTABLE_PROT >>> value with the supported mask: __supported_pte_mask. This ensures >>> that unsupported bits are not set in the final PTE. But, it also >>> sets _PAGE_GLOBAL which we do not want for PTE. Use >>> __default_kernel_pte_mask instead which clears _PAGE_GLOBAL for PTI. >> >> Can you please explain what is your concern? Exposing more gadgets for >> speculative ROP attacks? >> >> Or is it a general rule of not exposing any kernel code &data more than >> absolutely necessary? > > I think it's good practice to just expose only the *minimal* amount of > data necessary. It's easier to audit and less likely to expose things > accidentall.
But espfix64 is geniunely global. I'm confused.