forked from Minki/linux
bace7117d3
Brian Gerst noticed that I did a weird rename in the following commit:
b2502b418e
("x86/asm/entry: Untangle 'system_call' into two entry points: entry_SYSCALL_64 and entry_INT80_32")
which renamed __NR_ia32_syscall_max to __NR_entry_INT80_compat_max.
Now the original name was a misnomer, but the new one is a misnomer as well,
as all the 32-bit compat syscall entry points (sysenter, syscall) share the
system call table, not just the INT80 based one.
Rename it to __NR_syscall_compat_max.
Reported-by: Brian Gerst <brgerst@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
34 lines
896 B
C
34 lines
896 B
C
/* System call table for i386. */
|
|
|
|
#include <linux/linkage.h>
|
|
#include <linux/sys.h>
|
|
#include <linux/cache.h>
|
|
#include <asm/asm-offsets.h>
|
|
|
|
#ifdef CONFIG_IA32_EMULATION
|
|
#define SYM(sym, compat) compat
|
|
#else
|
|
#define SYM(sym, compat) sym
|
|
#define ia32_sys_call_table sys_call_table
|
|
#define __NR_syscall_compat_max __NR_syscall_max
|
|
#endif
|
|
|
|
#define __SYSCALL_I386(nr, sym, compat) extern asmlinkage void SYM(sym, compat)(void) ;
|
|
#include <asm/syscalls_32.h>
|
|
#undef __SYSCALL_I386
|
|
|
|
#define __SYSCALL_I386(nr, sym, compat) [nr] = SYM(sym, compat),
|
|
|
|
typedef asmlinkage void (*sys_call_ptr_t)(void);
|
|
|
|
extern asmlinkage void sys_ni_syscall(void);
|
|
|
|
__visible const sys_call_ptr_t ia32_sys_call_table[__NR_syscall_compat_max+1] = {
|
|
/*
|
|
* Smells like a compiler bug -- it doesn't work
|
|
* when the & below is removed.
|
|
*/
|
|
[0 ... __NR_syscall_compat_max] = &sys_ni_syscall,
|
|
#include <asm/syscalls_32.h>
|
|
};
|