]> xenbits.xensource.com Git - xen.git/commitdiff
x86-64: fix updating of UREGS_rip when converting sysenter to #GP
authorJan Beulich <jbeulich@suse.com>
Tue, 17 Apr 2012 15:17:05 +0000 (17:17 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 17 Apr 2012 15:17:05 +0000 (17:17 +0200)
(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 <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
xen/arch/x86/x86_64/entry.S

index 3c15a04e5132d569b960e1c17e8ddafeab8fcde2..b78bd24245e5f6113eb90f2a163c7eb6d510f204 100644 (file)
@@ -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)