summaryrefslogtreecommitdiff
path: root/arch/x86/xen/xen-asm_64.S
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-07-22 03:49:58 +0400
committerIngo Molnar <mingo@elte.hu>2008-07-24 14:28:12 +0400
commit2dc1697eb355c34f9f7bcbbb83f490de248c360a (patch)
treeeeded09dab5b604ec5b6a1b1c10a3ff304ced75d /arch/x86/xen/xen-asm_64.S
parent9e882c9282512cc622752f29ec7c29ce338fc1eb (diff)
downloadlinux-2dc1697eb355c34f9f7bcbbb83f490de248c360a.tar.xz
xen: don't use sysret for sysexit32
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>
Diffstat (limited to 'arch/x86/xen/xen-asm_64.S')
-rw-r--r--arch/x86/xen/xen-asm_64.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/xen/xen-asm_64.S b/arch/x86/xen/xen-asm_64.S
index 4038cbfe3331..7f58304fafb3 100644
--- a/arch/x86/xen/xen-asm_64.S
+++ b/arch/x86/xen/xen-asm_64.S
@@ -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)