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>
This commit is contained in:
Jeremy Fitzhardinge 2008-07-21 16:49:58 -07:00 committed by Ingo Molnar
parent 9e882c9282
commit 2dc1697eb3

View File

@ -173,7 +173,7 @@ ENTRY(xen_sysexit)
pushq $__USER32_CS pushq $__USER32_CS
pushq %rdx pushq %rdx
pushq $VGCF_in_syscall pushq $0
1: jmp hypercall_iret 1: jmp hypercall_iret
ENDPATCH(xen_sysexit) ENDPATCH(xen_sysexit)
RELOC(xen_sysexit, 1b+1) RELOC(xen_sysexit, 1b+1)