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

[Xen-changelog] Validate the segment selectors passed to arch_set_info_guest().



# HG changeset patch
# User Ian.Campbell@xxxxxxxxxxxxx
# Node ID 2d3124df8a0e3ad3045798df44980fb9e4827b49
# Parent  229c602a075a9fe16cb8797a6d5d718eb2deb18c
Validate the segment selectors passed to arch_set_info_guest().

Signed-off-by: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>

diff -r 229c602a075a -r 2d3124df8a0e xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c     Wed Feb 22 15:13:08 2006
+++ b/xen/arch/x86/domain.c     Wed Feb 22 15:13:48 2006
@@ -356,9 +356,15 @@
      */
     if ( !(c->flags & VGCF_HVM_GUEST) )
     {
-        if ( ((c->user_regs.cs & 3) == 0) ||
-             ((c->user_regs.ss & 3) == 0) )
+        if ( ((c->user_regs.ss & 3) == 0) ||
+             !VALID_CODESEL(c->user_regs.cs) ||
+             !VALID_CODESEL(c->event_callback_cs) ||
+             !VALID_CODESEL(c->failsafe_callback_cs) )
             return -EINVAL;
+
+        for ( i = 0; i < 256; i++ )
+            if ( !VALID_CODESEL(c->trap_ctxt[i].cs) )
+                return -EINVAL;
     }
     else if ( !hvm_enabled )
       return -EINVAL;

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


 


Rackspace

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