On Thu, Jun 18, 2020 at 08:38:06AM -0700, Dave Hansen wrote: > On 6/18/20 8:26 AM, Andersen, John wrote: > > On Thu, Jun 18, 2020 at 07:41:04AM -0700, Dave Hansen wrote: > >>> +config PARAVIRT_CR_PIN > >>> + bool "Paravirtual bit pinning for CR0 and CR4" > >>> + depends on KVM_GUEST > >>> + help > >>> + Select this option to have the virtualised guest request that the > >>> + hypervisor disallow it from disabling protections set in control > >>> + registers. The hypervisor will prevent exploits from disabling > >>> + features such as SMEP, SMAP, UMIP, and WP. > >> > >> I'm confused. Does this add support for ""Paravirtual bit pinning", or > >> actually tell the guest to request pinning by default? > >> > >> It says "Select this option to have the virtualised guest request...", > >> which makes it sound like it affects the default rather than the > >> availability of the option. > > > > How about this > > > > Select this option to request protection of SMEP, SMAP, UMIP, and WP > > control register bits when running paravirtualized under KVM. Protection will > > be active provided the feature is available host side and kexec is disabled via > > kconfig or the command line for the guest requesting protection. > > It still isn't very clear to me. > > Let's pull the config option out of this patch. Enable the feature by > default and do the command-line processing in this patch. > > If you still think a Kconfig option is helpful, add it in a separate > patch calling out the deficiencies with the boot-time options. That's right we're going to pull it out anyway and just disable if the disable_pv_cr_pin command line option is set. Oops. That solves that. Thank you very much for your review Dave