Re: [RFC][PATCH 04/10] x86/espfix: use kernel-default PTE mask

From: Dave Hansen
Date: Thu Feb 22 2018 - 16:30:06 EST


On 02/22/2018 01:27 PM, Nadav Amit wrote:
> Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> wrote:
>> From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
>> 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.