diff options
Diffstat (limited to 'arch/x86/include/asm/xen/hypercall.h')
| -rw-r--r-- | arch/x86/include/asm/xen/hypercall.h | 3 | 
1 files changed, 3 insertions, 0 deletions
| diff --git a/arch/x86/include/asm/xen/hypercall.h b/arch/x86/include/asm/xen/hypercall.h index de6f0d59a24f..2863c2026655 100644 --- a/arch/x86/include/asm/xen/hypercall.h +++ b/arch/x86/include/asm/xen/hypercall.h @@ -206,6 +206,9 @@ xen_single_call(unsigned int call,  	__HYPERCALL_DECLS;  	__HYPERCALL_5ARG(a1, a2, a3, a4, a5); +	if (call >= PAGE_SIZE / sizeof(hypercall_page[0])) +		return -EINVAL; +  	asm volatile(CALL_NOSPEC  		     : __HYPERCALL_5PARAM  		     : [thunk_target] "a" (&hypercall_page[call]) |