Jan Beulich
2008-Dec-05 14:20 UTC
[Xen-devel] [PATCH] x86/32on64: adjust address when converting syscall to fault
The faulting address is at the start of the syscall instruction rather than at the following one. Signed-off-by: Jan Beulich <jbeulich@novell.com> Index: 2008-11-20/xen/arch/x86/x86_64/compat/entry.S ==================================================================--- 2008-11-20.orig/xen/arch/x86/x86_64/compat/entry.S 2008-07-18 16:19:34.000000000 +0200 +++ 2008-11-20/xen/arch/x86/x86_64/compat/entry.S 2008-11-28 11:47:56.000000000 +0100 @@ -234,6 +234,7 @@ ENTRY(compat_syscall) call compat_create_bounce_frame jmp compat_test_all_events 2: movl $TRAP_gp_fault,UREGS_entry_vector(%rsp) + subl $2,UREGS_rip(%rsp) movq VCPU_gp_fault_addr(%rbx),%rax movzwl VCPU_gp_fault_sel(%rbx),%esi movb $(TBF_EXCEPTION|TBF_EXCEPTION_ERRCODE|TBF_INTERRUPT),%cl _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel