[PATCH] x86_64: Eliminate IA32_NR_syscalls define
Or rather compute it based on the table length automatically. This also has the intended side effect of not warning for new system calls anymore. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
bbd3aff89d
commit
67d53ea5a3
|
@ -15,6 +15,8 @@
|
|||
#include <asm/vsyscall32.h>
|
||||
#include <linux/linkage.h>
|
||||
|
||||
#define IA32_NR_syscalls ((ia32_syscall_end - ia32_sys_call_table)/8)
|
||||
|
||||
.macro IA32_ARG_FIXUP noebp=0
|
||||
movl %edi,%r8d
|
||||
.if \noebp
|
||||
|
@ -109,8 +111,8 @@ ENTRY(ia32_sysenter_target)
|
|||
CFI_REMEMBER_STATE
|
||||
jnz sysenter_tracesys
|
||||
sysenter_do_call:
|
||||
cmpl $(IA32_NR_syscalls),%eax
|
||||
jae ia32_badsys
|
||||
cmpl $(IA32_NR_syscalls-1),%eax
|
||||
ja ia32_badsys
|
||||
IA32_ARG_FIXUP 1
|
||||
call *ia32_sys_call_table(,%rax,8)
|
||||
movq %rax,RAX-ARGOFFSET(%rsp)
|
||||
|
@ -210,8 +212,8 @@ ENTRY(ia32_cstar_target)
|
|||
CFI_REMEMBER_STATE
|
||||
jnz cstar_tracesys
|
||||
cstar_do_call:
|
||||
cmpl $IA32_NR_syscalls,%eax
|
||||
jae ia32_badsys
|
||||
cmpl $IA32_NR_syscalls-1,%eax
|
||||
ja ia32_badsys
|
||||
IA32_ARG_FIXUP 1
|
||||
call *ia32_sys_call_table(,%rax,8)
|
||||
movq %rax,RAX-ARGOFFSET(%rsp)
|
||||
|
@ -296,8 +298,8 @@ ENTRY(ia32_syscall)
|
|||
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),threadinfo_flags(%r10)
|
||||
jnz ia32_tracesys
|
||||
ia32_do_syscall:
|
||||
cmpl $(IA32_NR_syscalls),%eax
|
||||
jae ia32_badsys
|
||||
cmpl $(IA32_NR_syscalls-1),%eax
|
||||
ja ia32_badsys
|
||||
IA32_ARG_FIXUP
|
||||
call *ia32_sys_call_table(,%rax,8) # xxx: rip relative
|
||||
ia32_sysret:
|
||||
|
@ -691,6 +693,3 @@ ia32_sys_call_table:
|
|||
.quad compat_sys_set_robust_list
|
||||
.quad compat_sys_get_robust_list
|
||||
ia32_syscall_end:
|
||||
.rept IA32_NR_syscalls-(ia32_syscall_end-ia32_sys_call_table)/8
|
||||
.quad ni_syscall
|
||||
.endr
|
||||
|
|
|
@ -317,6 +317,4 @@
|
|||
#define __NR_ia32_ppoll 309
|
||||
#define __NR_ia32_unshare 310
|
||||
|
||||
#define IA32_NR_syscalls 311 /* must be > than biggest syscall! */
|
||||
|
||||
#endif /* _ASM_X86_64_IA32_UNISTD_H_ */
|
||||
|
|
Loading…
Reference in New Issue