diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-07-21 19:49:58 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-24 06:28:12 -0400 |
commit | 2dc1697eb355c34f9f7bcbbb83f490de248c360a (patch) | |
tree | eeded09dab5b604ec5b6a1b1c10a3ff304ced75d /arch/x86/xen/xen-asm_64.S | |
parent | 9e882c9282512cc622752f29ec7c29ce338fc1eb (diff) |
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.S | 2 |
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) | |||
173 | pushq $__USER32_CS | 173 | pushq $__USER32_CS |
174 | pushq %rdx | 174 | pushq %rdx |
175 | 175 | ||
176 | pushq $VGCF_in_syscall | 176 | pushq $0 |
177 | 1: jmp hypercall_iret | 177 | 1: jmp hypercall_iret |
178 | ENDPATCH(xen_sysexit) | 178 | ENDPATCH(xen_sysexit) |
179 | RELOC(xen_sysexit, 1b+1) | 179 | RELOC(xen_sysexit, 1b+1) |