aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2010-12-15 12:14:05 +0000
committerKeir Fraser <keir@xen.org>2010-12-15 12:14:05 +0000
commite290721d5802b98f9f8217f69197cbac6daa75ac (patch)
tree3cb75c059cd32ebdaf632e3dd114ac4d4fed82b7
parent8ede95b56f82a3f82dc8eae7a2f7b7423b95a777 (diff)
downloadxen-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.S3
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