diff options
author | Tim Deegan <Tim.Deegan@citrix.com> | 2011-03-14 17:00:34 +0000 |
---|---|---|
committer | Tim Deegan <Tim.Deegan@citrix.com> | 2011-03-14 17:00:34 +0000 |
commit | 37f93e9a115551536436e1f99b371afb1740fda1 (patch) | |
tree | 2b9826216959c2d2f4e9981da30ca4fcc0296498 | |
parent | 61332af12a9b8ccb5b8ce47589145c671a496557 (diff) | |
download | xen-37f93e9a115551536436e1f99b371afb1740fda1.tar.gz xen-37f93e9a115551536436e1f99b371afb1740fda1.tar.bz2 xen-37f93e9a115551536436e1f99b371afb1740fda1.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.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index a024e198e9..5791925675 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -826,6 +826,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 { |