aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Deegan <Tim.Deegan@citrix.com>2011-03-14 17:00:58 +0000
committerTim Deegan <Tim.Deegan@citrix.com>2011-03-14 17:00:58 +0000
commit6f13d1ec5bbd83f174c9a0081d36a54aac597caa (patch)
tree1ecc3870294d285a7355e8b2577d38fbdeb88c80
parentc0083e85403a60b874b4bca66d51da296351f8ca (diff)
downloadxen-6f13d1ec5bbd83f174c9a0081d36a54aac597caa.tar.gz
xen-6f13d1ec5bbd83f174c9a0081d36a54aac597caa.tar.bz2
xen-6f13d1ec5bbd83f174c9a0081d36a54aac597caa.zip
x86_64: fix error checking in arch_set_info_guest()
Cannot specify user mode execution without specifying user-mode pagetables. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> Acked-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23034:c79aae866ad8 xen-unstable date: Mon Mar 14 16:59:49 2011 +0000
-rw-r--r--xen/arch/x86/domain.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 3143c62b9b..2fd584d6c1 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -780,6 +780,11 @@ int arch_set_info_guest(
v->arch.guest_table_user = pagetable_from_pfn(cr3_pfn);
}
+ else if ( !(flags & VGCF_in_kernel) )
+ {
+ destroy_gdt(v);
+ return -EINVAL;
+ }
}
else
{