[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [Patch] Disallow SMEP for PV guest


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Yang, Wei Y" <wei.y.yang@xxxxxxxxx>
  • Date: Wed, 1 Jun 2011 22:31:12 +0800
  • Accept-language: en-US
  • Acceptlanguage: en-US
  • Delivery-date: Wed, 01 Jun 2011 07:35:05 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcwgaI6KlQDokISXR8290J+sxbx6CA==
  • Thread-topic: [Patch] Disallow SMEP for PV guest

This patch disallows SMEP for PV guest.

 Signed-off-by: Yang, Wei <wei.y.yang@xxxxxxxxx>
 Signed-off-by: Shan, Haitao <haitao.shan@xxxxxxxxx>
 Signed-off-by: Li, Xin <xin.li@xxxxxxxxx>

---
 xc_cpufeature.h |    3 +++
 xc_cpuid_x86.c  |    5 +++++
 2 files changed, 8 insertions(+)

diff -r 6f72160d2d55 tools/libxc/xc_cpufeature.h
--- a/tools/libxc/xc_cpufeature.h       Wed Jun 01 19:57:32 2011 +0800
+++ b/tools/libxc/xc_cpufeature.h       Wed Jun 01 22:21:33 2011 +0800
@@ -141,4 +141,7 @@
 #define X86_FEATURE_TBM         (6*32+21) /* trailing bit manipulations */
 #define X86_FEATURE_TOPOEXT     (6*32+22) /* topology extensions CPUID leafs */
 
+/* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx), word 7 */
+#define X86_FEATURE_SMEP       (7*32+ 7) /* Supervisor Mode Execution 
Protection */
+
 #endif /* __LIBXC_CPUFEATURE_H */
diff -r 6f72160d2d55 tools/libxc/xc_cpuid_x86.c
--- a/tools/libxc/xc_cpuid_x86.c        Wed Jun 01 19:57:32 2011 +0800
+++ b/tools/libxc/xc_cpuid_x86.c        Wed Jun 01 22:21:33 2011 +0800
@@ -470,6 +470,11 @@
         xc_cpuid_config_xsave(xch, domid, xfeature_mask, input, regs);
         break;
 
+    case 7:
+        if ( input[1] == 0 )
+            clear_bit(X86_FEATURE_SMEP, regs[1]);
+        break;
+
     case 0x80000001:
         if ( !guest_64bit )
         {

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.