Re: [RFC PATCH 09/13] x86/cpufeature: Add detection of KVM XO

From: Edgecombe, Rick P
Date: Tue Oct 29 2019 - 19:52:11 EST


On Tue, 2019-10-29 at 16:33 -0700, Kees Cook wrote:
> On Thu, Oct 03, 2019 at 02:23:56PM -0700, Rick Edgecombe wrote:
> > Add a new CPUID leaf to hold the contents of CPUID 0x40000030 EAX to
> > detect KVM defined generic VMM features.
> >
> > The leaf was proposed to allow KVM to communicate features that are
> > defined by KVM, but available for any VMM to implement.
> >
> > Add cpu_feature_enabled() support for features in this leaf (KVM XO), and
> > a pgtable_kvmxo_enabled() helper similar to pgtable_l5_enabled() so that
> > pgtable_kvmxo_enabled() can be used in early code that includes
> > arch/x86/include/asm/sparsemem.h.
> >
> > Lastly, in head64.c detect and this feature and perform necessary
> > adjustments to physical_mask.
>
> Can this be exposed to /proc/cpuinfo so a guest userspace can determine
> if this feature is enabled?
>
> -Kees

Is there a good place to expose the information that the PROT_EXEC and
!PROT_READ combo creates execute-only memory? This way apps can check one place
for the support and not worry about the implementation whether it's this, x86
pkeys, arm or other.