xen: don't use sysret for sysexit32
authorJeremy Fitzhardinge <jeremy@goop.org>
Mon, 21 Jul 2008 23:49:58 +0000 (16:49 -0700)
committerIngo Molnar <mingo@elte.hu>
Thu, 24 Jul 2008 10:28:12 +0000 (12:28 +0200)
When implementing sysexit32, don't let Xen use sysret to return to
userspace.  That results in usermode register state being trashed.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: Mark McLoughlin <markmc@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/xen/xen-asm_64.S

index 4038cbfe33319ac954b83437d45b9c189af052da..7f58304fafb3098fc68d35be4d9c02206077e8cb 100644 (file)
@@ -173,7 +173,7 @@ ENTRY(xen_sysexit)
        pushq $__USER32_CS
        pushq %rdx
 
-       pushq $VGCF_in_syscall
+       pushq $0
 1:     jmp hypercall_iret
 ENDPATCH(xen_sysexit)
 RELOC(xen_sysexit, 1b+1)