projects
/
xen.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8e65dd3
)
x86/32on64: adjust address when converting syscall to fault
author
Keir Fraser
<keir.fraser@citrix.com>
Fri, 5 Dec 2008 15:21:59 +0000
(15:21 +0000)
committer
Keir Fraser
<keir.fraser@citrix.com>
Fri, 5 Dec 2008 15:21:59 +0000
(15:21 +0000)
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>
xen/arch/x86/x86_64/compat/entry.S
patch
|
blob
|
history
diff --git
a/xen/arch/x86/x86_64/compat/entry.S
b/xen/arch/x86/x86_64/compat/entry.S
index 085babedc49e854485bf6bd78ade5ed015ad12ee..f08c180fd9ac9dedea53db6a22cae8eac51ae7b2 100644
(file)
--- a/
xen/arch/x86/x86_64/compat/entry.S
+++ b/
xen/arch/x86/x86_64/compat/entry.S
@@
-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