From: Jan Beulich Date: Tue, 17 Apr 2012 15:17:05 +0000 (+0200) Subject: x86-64: fix updating of UREGS_rip when converting sysenter to #GP X-Git-Tag: 4.2.0-rc1~481^2 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=236b2f5b9b855c4aedc2cc16e923f34bf6caefd0;p=xen.git x86-64: fix updating of UREGS_rip when converting sysenter to #GP (I spotted this copy-and-paste mistake only when backporting c/s 25200:80f4113be500 to 4.1 and 4.0.) Signed-off-by: Jan Beulich Acked-by: Keir Fraser --- diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S index 3c15a04e51..b78bd24245 100644 --- a/xen/arch/x86/x86_64/entry.S +++ b/xen/arch/x86/x86_64/entry.S @@ -280,7 +280,7 @@ sysenter_eflags_saved: UNLIKELY_START(z, sysenter_gpf) movq VCPU_trap_ctxt(%rbx),%rsi movl $TRAP_gp_fault,UREGS_entry_vector(%rsp) - subl $2,UREGS_rip(%rsp) + subq $2,UREGS_rip(%rsp) movl %eax,TRAPBOUNCE_error_code(%rdx) movq TRAP_gp_fault * TRAPINFO_sizeof + TRAPINFO_eip(%rsi),%rax testb $4,TRAP_gp_fault * TRAPINFO_sizeof + TRAPINFO_flags(%rsi)