From: "Jan Beulich" Subject: [PATCH] x86/32on64: adjust address when converting syscall to fault Date: Fri, 05 Dec 2008 14:20:03 +0000 Message-ID: <493946A3.76E4.0078.0@novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org The faulting address is at the start of the syscall instruction rather than at the following one. Signed-off-by: Jan Beulich Index: 2008-11-20/xen/arch/x86/x86_64/compat/entry.S =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- 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