Jan Beulich
2012-Apr-17 14:57 UTC
[PATCH] 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 <jbeulich@suse.com> --- 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) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Keir Fraser
2012-Apr-17 15:05 UTC
Re: [PATCH] x86-64: fix updating of UREGS_rip when converting sysenter to #GP
On 17/04/2012 15:57, "Jan Beulich" <JBeulich@suse.com> wrote:> (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>> --- 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) > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel