xen/22540-32on64-hypercall-debug.patch

22 lines
767 B
Diff
Raw Normal View History

# HG changeset patch
# User Keir Fraser <keir@xen.org>
# Date 1292415031 0
# Node ID d8279118b4bbb3bb3689b9c20abb25d0c09e2b69
# Parent 20c65aa19075b1a696adb56325827412596ac0d4
x86/32on64: zero-extend hypercall index before use in memory access (debug mode only)
Signed-off-by: Jan Beulich <jbeulich@novell.com>
--- 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