Mailing List Archive

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

Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com>

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@lists.xensource.com
http://lists.xensource.com/xen-changelog