diff options
author | Keir Fraser <keir@xen.org> | 2010-12-15 12:14:05 +0000 |
---|---|---|
committer | Keir Fraser <keir@xen.org> | 2010-12-15 12:14:05 +0000 |
commit | e290721d5802b98f9f8217f69197cbac6daa75ac (patch) | |
tree | 3cb75c059cd32ebdaf632e3dd114ac4d4fed82b7 | |
parent | 8ede95b56f82a3f82dc8eae7a2f7b7423b95a777 (diff) | |
download | xen-e290721d5802b98f9f8217f69197cbac6daa75ac.tar.gz xen-e290721d5802b98f9f8217f69197cbac6daa75ac.tar.bz2 xen-e290721d5802b98f9f8217f69197cbac6daa75ac.zip |
x86/32on64: zero-extend hypercall index before use in memory access (debug mode only)
Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen-unstable changeset: 22540:d8279118b4bb
xen-unstable date: Wed Dec 15 12:10:31 2010 +0000
-rw-r--r-- | xen/arch/x86/x86_64/compat/entry.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S index 81fbcfe28d..c8a5bfb509 100644 --- a/xen/arch/x86/x86_64/compat/entry.S +++ b/xen/arch/x86/x86_64/compat/entry.S @@ -36,7 +36,8 @@ ENTRY(compat_hypercall) pushq UREGS_rbx(%rsp); pushq %rcx; pushq %rdx; pushq %rsi; pushq %rdi pushq UREGS_rbp+5*8(%rsp) leaq compat_hypercall_args_table(%rip),%r10 - movq $6,%rcx + movl %eax,%eax + movl $6,%ecx subb (%r10,%rax,1),%cl movq %rsp,%rdi movl $0xDEADBEEF,%eax |