diff options
| -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, | |||
| 206 | __HYPERCALL_DECLS; | 206 | __HYPERCALL_DECLS; |
| 207 | __HYPERCALL_5ARG(a1, a2, a3, a4, a5); | 207 | __HYPERCALL_5ARG(a1, a2, a3, a4, a5); |
| 208 | 208 | ||
| 209 | if (call >= PAGE_SIZE / sizeof(hypercall_page[0])) | ||
| 210 | return -EINVAL; | ||
| 211 | |||
| 209 | asm volatile(CALL_NOSPEC | 212 | asm volatile(CALL_NOSPEC |
| 210 | : __HYPERCALL_5PARAM | 213 | : __HYPERCALL_5PARAM |
| 211 | : [thunk_target] "a" (&hypercall_page[call]) | 214 | : [thunk_target] "a" (&hypercall_page[call]) |
