x86_64: fix error checking in arch_set_info_guest()
authorTim Deegan <Tim.Deegan@citrix.com>
Mon, 14 Mar 2011 16:59:49 +0000 (16:59 +0000)
committerTim Deegan <Tim.Deegan@citrix.com>
Mon, 14 Mar 2011 16:59:49 +0000 (16:59 +0000)
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/arch/x86/domain.c

index b859cd576fac6a9756af2e40bc2e791bf630bbc3..72a3a0babf24bdc2bfc0a3887cec45b2639a4e6d 100644 (file)
@@ -820,6 +820,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
     {