From: Keir Fraser <keir.xen@gmail.com>
To: "Li, Xin" <xin.li@intel.com>, Jan Beulich <JBeulich@novell.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [PATCH v2] Enable SMEP CPU feature support for XEN hypervisor
Date: Sun, 05 Jun 2011 18:04:06 +0100 [thread overview]
Message-ID: <CA117596.1BA0A%keir.xen@gmail.com> (raw)
In-Reply-To: <FC2FB65B4D919844ADE4BE3C2BB739AD5AB9EE2F@shsmsx501.ccr.corp.intel.com>
On 05/06/2011 16:43, "Li, Xin" <xin.li@intel.com> wrote:
>>> That needs
>>> 1) inject SMEP faults back to the 32-bit pv guest.
>>> 2) let the guest see SMEP thru CPUID and config it in CR4 (actually it's
>>> already set, but just to let guest see it).
>>>
>>> Anything else?
>>
>> I thought about this myself and realised that we can't let PV guests control
>> this feature if we want Xen to benefit from it. There's little point in a
>> feature to protect Xen from guests, if an untrusted guest can turn it off!
>>
>> Hence I think we probably have to leave the feature always on for PV guests.
>> Unless we find some guests are incompatible with that.
>
> As we talked, 64-bit pv kernel can't trigger SMEP faults. So we decided to not
> let it see this feature.
Yes, we're talking about 32b guests here.
> Maybe it's okay to inject SMEP faults which are triggered from 32-bit pv
> kernel back to it even the guest is not aware of SMEP.
We don't really have a choice about it, if SMEP is enabled. We don't usually
call spurious_page_fault() for guest faults. And as I said, we can't allow a
32b PV guest to disable SMEP, as SMEP is protecting Xen too.
> We can refer to Linux SMEP patch, which just turns this feature on without
> touching any page table handling functions as SMEP handling actually can
> reuse NX handling code path.
Yeah, most likely we can turn this on for PV guests, without them really
knowing about it, and nothing will break.
> Ingo wanted to expose SMEP to KVM guest
> silently, but it is not architecturally right as it's required to flush TLB
> when
> CR4.SMEP is changed, or a kernel page is changed to user page. But luckily
> Linux doesn't have such cases thus doesn't need to flush TLB.
HVM guests are a separate matter and we will want to make SMEP properly
configurable by the guest, as I believe your current patch proposes.
-- Keir
> Thanks!
> -Xin
next prev parent reply other threads:[~2011-06-05 17:04 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-05 7:36 [PATCH v2] Enable SMEP CPU feature support for XEN hypervisor Jan Beulich
2011-06-05 8:39 ` Li, Xin
2011-06-05 15:10 ` Keir Fraser
2011-06-05 15:43 ` Li, Xin
2011-06-05 17:04 ` Keir Fraser [this message]
-- strict thread matches above, loose matches on Subject: below --
2011-06-03 14:36 Jan Beulich
2011-06-03 16:18 ` Li, Xin
2011-06-03 17:09 ` Li, Xin
2011-06-03 13:57 Li, Xin
2011-06-03 17:23 ` Keir Fraser
2011-06-03 18:49 ` Li, Xin
2011-06-03 19:22 ` Keir Fraser
2011-06-03 19:37 ` Li, Xin
2011-06-03 20:15 ` Keir Fraser
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CA117596.1BA0A%keir.xen@gmail.com \
--to=keir.xen@gmail.com \
--cc=JBeulich@novell.com \
--cc=xen-devel@lists.xensource.com \
--cc=xin.li@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.