diff options
Diffstat (limited to 'arch/x86/entry/syscall_64.c')
| -rw-r--r-- | arch/x86/entry/syscall_64.c | 19 | 
1 files changed, 17 insertions, 2 deletions
diff --git a/arch/x86/entry/syscall_64.c b/arch/x86/entry/syscall_64.c index be120eec1fc9..33b3f09e6f15 100644 --- a/arch/x86/entry/syscall_64.c +++ b/arch/x86/entry/syscall_64.c @@ -11,8 +11,23 @@  #include <asm/syscalls_64.h>  #undef __SYSCALL +/* + * The sys_call_table[] is no longer used for system calls, but + * kernel/trace/trace_syscalls.c still wants to know the system + * call address. + */  #define __SYSCALL(nr, sym) __x64_##sym, - -asmlinkage const sys_call_ptr_t sys_call_table[] = { +const sys_call_ptr_t sys_call_table[] = {  #include <asm/syscalls_64.h>  }; +#undef __SYSCALL + +#define __SYSCALL(nr, sym) case nr: return __x64_##sym(regs); + +long x64_sys_call(const struct pt_regs *regs, unsigned int nr) +{ +	switch (nr) { +	#include <asm/syscalls_64.h> +	default: return __x64_sys_ni_syscall(regs); +	} +};  |