summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-02-27 12:39:30 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2018-02-27 13:25:49 -0800
commitde25c71cf6b4d9bb49937f96485c8a35c577d567 (patch)
treedef1214020b866244ef90ed3784d899b35b1a346
parent3621644dbcd549dd5b7759d4eb25943699aa3c62 (diff)
downloadlinux-WIP-syscall.tar.bz2
Broken, but working, ptregs system call conversion for x86-64WIP-syscall
Not-yet-signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/x86/entry/common.c9
-rw-r--r--arch/x86/entry/syscall_32.c4
-rw-r--r--arch/x86/entry/syscall_64.c4
-rw-r--r--arch/x86/entry/syscalls/syscall_32.tbl726
-rw-r--r--arch/x86/entry/syscalls/syscall_64.tbl706
-rw-r--r--arch/x86/include/asm/syscall.h4
-rw-r--r--arch/x86/kernel/ioport.c2
-rw-r--r--arch/x86/kernel/signal.c5
-rw-r--r--fs/open.c49
-rw-r--r--include/linux/compat.h12
-rw-r--r--include/linux/syscalls.h27
-rw-r--r--kernel/sched/core.c11
-rw-r--r--kernel/signal.c14
-rw-r--r--kernel/sys_ni.c4
14 files changed, 820 insertions, 757 deletions
diff --git a/arch/x86/entry/common.c b/arch/x86/entry/common.c
index a8b066dbbf48..6c4662c55532 100644
--- a/arch/x86/entry/common.c
+++ b/arch/x86/entry/common.c
@@ -284,9 +284,7 @@ __visible void do_syscall_64(unsigned long nr, struct pt_regs *regs)
nr &= __SYSCALL_MASK;
if (likely(nr < NR_syscalls)) {
nr = array_index_nospec(nr, NR_syscalls);
- regs->ax = sys_call_table[nr](
- regs->di, regs->si, regs->dx,
- regs->r10, regs->r8, regs->r9);
+ regs->ax = sys_call_table[nr](regs);
}
syscall_return_slowpath(regs);
@@ -327,10 +325,7 @@ static __always_inline void do_syscall_32_irqs_on(struct pt_regs *regs)
* the high bits are zero. Make sure we zero-extend all
* of the args.
*/
- regs->ax = ia32_sys_call_table[nr](
- (unsigned int)regs->bx, (unsigned int)regs->cx,
- (unsigned int)regs->dx, (unsigned int)regs->si,
- (unsigned int)regs->di, (unsigned int)regs->bp);
+ regs->ax = ia32_sys_call_table[nr](regs);
}
syscall_return_slowpath(regs);
diff --git a/arch/x86/entry/syscall_32.c b/arch/x86/entry/syscall_32.c
index 95c294963612..ad9d5c1cdb3b 100644
--- a/arch/x86/entry/syscall_32.c
+++ b/arch/x86/entry/syscall_32.c
@@ -7,13 +7,13 @@
#include <asm/asm-offsets.h>
#include <asm/syscall.h>
-#define __SYSCALL_I386(nr, sym, qual) extern asmlinkage long sym(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) ;
+#define __SYSCALL_I386(nr, sym, qual) extern asmlinkage long sym(struct pt_regs *);
#include <asm/syscalls_32.h>
#undef __SYSCALL_I386
#define __SYSCALL_I386(nr, sym, qual) [nr] = sym,
-extern asmlinkage long sys_ni_syscall(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long);
+extern asmlinkage long sys_ni_syscall(struct pt_regs *);
__visible const sys_call_ptr_t ia32_sys_call_table[__NR_syscall_compat_max+1] = {
/*
diff --git a/arch/x86/entry/syscall_64.c b/arch/x86/entry/syscall_64.c
index c176d2fab1da..4e4755ce709e 100644
--- a/arch/x86/entry/syscall_64.c
+++ b/arch/x86/entry/syscall_64.c
@@ -7,13 +7,13 @@
#include <asm/asm-offsets.h>
#include <asm/syscall.h>
-#define __SYSCALL_64(nr, sym, qual) extern asmlinkage long sym(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long);
+#define __SYSCALL_64(nr, sym, qual) extern asmlinkage long sym(struct pt_regs *);
#include <asm/syscalls_64.h>
#undef __SYSCALL_64
#define __SYSCALL_64(nr, sym, qual) [nr] = sym,
-extern long sys_ni_syscall(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long);
+extern long sys_ni_syscall(struct pt_regs *);
asmlinkage const sys_call_ptr_t sys_call_table[__NR_syscall_max+1] = {
/*
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index 448ac2161112..a3f8da63a536 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -6,388 +6,388 @@
#
# The abi is always "i386" for this file.
#
-0 i386 restart_syscall sys_restart_syscall
-1 i386 exit sys_exit
-2 i386 fork sys_fork sys_fork
-3 i386 read sys_read
-4 i386 write sys_write
-5 i386 open sys_open compat_sys_open
-6 i386 close sys_close
-7 i386 waitpid sys_waitpid sys32_waitpid
-8 i386 creat sys_creat
-9 i386 link sys_link
-10 i386 unlink sys_unlink
-11 i386 execve sys_execve compat_sys_execve
-12 i386 chdir sys_chdir
-13 i386 time sys_time compat_sys_time
-14 i386 mknod sys_mknod
-15 i386 chmod sys_chmod
-16 i386 lchown sys_lchown16
+0 i386 restart_syscall sys_i86_restart_syscall
+1 i386 exit sys_i86_exit
+2 i386 fork sys_i86_fork sys_i86_fork
+3 i386 read sys_i86_read
+4 i386 write sys_i86_write
+5 i386 open sys_i86_open compat_sys_i86_open
+6 i386 close sys_i86_close
+7 i386 waitpid sys_i86_waitpid sys32_waitpid
+8 i386 creat sys_i86_creat
+9 i386 link sys_i86_link
+10 i386 unlink sys_i86_unlink
+11 i386 execve sys_i86_execve compat_sys_i86_execve
+12 i386 chdir sys_i86_chdir
+13 i386 time sys_i86_time compat_sys_i86_time
+14 i386 mknod sys_i86_mknod
+15 i386 chmod sys_i86_chmod
+16 i386 lchown sys_i86_lchown16
17 i386 break
-18 i386 oldstat sys_stat
-19 i386 lseek sys_lseek compat_sys_lseek
-20 i386 getpid sys_getpid
-21 i386 mount sys_mount compat_sys_mount
-22 i386 umount sys_oldumount
-23 i386 setuid sys_setuid16
-24 i386 getuid sys_getuid16
-25 i386 stime sys_stime compat_sys_stime
-26 i386 ptrace sys_ptrace compat_sys_ptrace
-27 i386 alarm sys_alarm
-28 i386 oldfstat sys_fstat
-29 i386 pause sys_pause
-30 i386 utime sys_utime compat_sys_utime
+18 i386 oldstat sys_i86_stat
+19 i386 lseek sys_i86_lseek compat_sys_i86_lseek
+20 i386 getpid sys_i86_getpid
+21 i386 mount sys_i86_mount compat_sys_i86_mount
+22 i386 umount sys_i86_oldumount
+23 i386 setuid sys_i86_setuid16
+24 i386 getuid sys_i86_getuid16
+25 i386 stime sys_i86_stime compat_sys_i86_stime
+26 i386 ptrace sys_i86_ptrace compat_sys_i86_ptrace
+27 i386 alarm sys_i86_alarm
+28 i386 oldfstat sys_i86_fstat
+29 i386 pause sys_i86_pause
+30 i386 utime sys_i86_utime compat_sys_i86_utime
31 i386 stty
32 i386 gtty
-33 i386 access sys_access
-34 i386 nice sys_nice
+33 i386 access sys_i86_access
+34 i386 nice sys_i86_nice
35 i386 ftime
-36 i386 sync sys_sync
-37 i386 kill sys_kill
-38 i386 rename sys_rename
-39 i386 mkdir sys_mkdir
-40 i386 rmdir sys_rmdir
-41 i386 dup sys_dup
-42 i386 pipe sys_pipe
-43 i386 times sys_times compat_sys_times
+36 i386 sync sys_i86_sync
+37 i386 kill sys_i86_kill
+38 i386 rename sys_i86_rename
+39 i386 mkdir sys_i86_mkdir
+40 i386 rmdir sys_i86_rmdir
+41 i386 dup sys_i86_dup
+42 i386 pipe sys_i86_pipe
+43 i386 times sys_i86_times compat_sys_i86_times
44 i386 prof
-45 i386 brk sys_brk
-46 i386 setgid sys_setgid16
-47 i386 getgid sys_getgid16
-48 i386 signal sys_signal
-49 i386 geteuid sys_geteuid16
-50 i386 getegid sys_getegid16
-51 i386 acct sys_acct
-52 i386 umount2 sys_umount
+45 i386 brk sys_i86_brk
+46 i386 setgid sys_i86_setgid16
+47 i386 getgid sys_i86_getgid16
+48 i386 signal sys_i86_signal
+49 i386 geteuid sys_i86_geteuid16
+50 i386 getegid sys_i86_getegid16
+51 i386 acct sys_i86_acct
+52 i386 umount2 sys_i86_umount
53 i386 lock
-54 i386 ioctl sys_ioctl compat_sys_ioctl
-55 i386 fcntl sys_fcntl compat_sys_fcntl64
+54 i386 ioctl sys_i86_ioctl compat_sys_i86_ioctl
+55 i386 fcntl sys_i86_fcntl compat_sys_i86_fcntl64
56 i386 mpx
-57 i386 setpgid sys_setpgid
+57 i386 setpgid sys_i86_setpgid
58 i386 ulimit
-59 i386 oldolduname sys_olduname
-60 i386 umask sys_umask
-61 i386 chroot sys_chroot
-62 i386 ustat sys_ustat compat_sys_ustat
-63 i386 dup2 sys_dup2
-64 i386 getppid sys_getppid
-65 i386 getpgrp sys_getpgrp
-66 i386 setsid sys_setsid
-67 i386 sigaction sys_sigaction compat_sys_sigaction
-68 i386 sgetmask sys_sgetmask
-69 i386 ssetmask sys_ssetmask
-70 i386 setreuid sys_setreuid16
-71 i386 setregid sys_setregid16
-72 i386 sigsuspend sys_sigsuspend sys_sigsuspend
-73 i386 sigpending sys_sigpending compat_sys_sigpending
-74 i386 sethostname sys_sethostname
-75 i386 setrlimit sys_setrlimit compat_sys_setrlimit
-76 i386 getrlimit sys_old_getrlimit compat_sys_old_getrlimit
-77 i386 getrusage sys_getrusage compat_sys_getrusage
-78 i386 gettimeofday sys_gettimeofday compat_sys_gettimeofday
-79 i386 settimeofday sys_settimeofday compat_sys_settimeofday
-80 i386 getgroups sys_getgroups16
-81 i386 setgroups sys_setgroups16
-82 i386 select sys_old_select compat_sys_old_select
-83 i386 symlink sys_symlink
-84 i386 oldlstat sys_lstat
-85 i386 readlink sys_readlink
-86 i386 uselib sys_uselib
-87 i386 swapon sys_swapon
-88 i386 reboot sys_reboot
-89 i386 readdir sys_old_readdir compat_sys_old_readdir
-90 i386 mmap sys_old_mmap sys32_mmap
-91 i386 munmap sys_munmap
-92 i386 truncate sys_truncate compat_sys_truncate
-93 i386 ftruncate sys_ftruncate compat_sys_ftruncate
-94 i386 fchmod sys_fchmod
-95 i386 fchown sys_fchown16
-96 i386 getpriority sys_getpriority
-97 i386 setpriority sys_setpriority
+59 i386 oldolduname sys_i86_olduname
+60 i386 umask sys_i86_umask
+61 i386 chroot sys_i86_chroot
+62 i386 ustat sys_i86_ustat compat_sys_i86_ustat
+63 i386 dup2 sys_i86_dup2
+64 i386 getppid sys_i86_getppid
+65 i386 getpgrp sys_i86_getpgrp
+66 i386 setsid sys_i86_setsid
+67 i386 sigaction sys_i86_sigaction compat_sys_i86_sigaction
+68 i386 sgetmask sys_i86_sgetmask
+69 i386 ssetmask sys_i86_ssetmask
+70 i386 setreuid sys_i86_setreuid16
+71 i386 setregid sys_i86_setregid16
+72 i386 sigsuspend sys_i86_sigsuspend sys_i86_sigsuspend
+73 i386 sigpending sys_i86_sigpending compat_sys_i86_sigpending
+74 i386 sethostname sys_i86_sethostname
+75 i386 setrlimit sys_i86_setrlimit compat_sys_i86_setrlimit
+76 i386 getrlimit sys_i86_old_getrlimit compat_sys_i86_old_getrlimit
+77 i386 getrusage sys_i86_getrusage compat_sys_i86_getrusage
+78 i386 gettimeofday sys_i86_gettimeofday compat_sys_i86_gettimeofday
+79 i386 settimeofday sys_i86_settimeofday compat_sys_i86_settimeofday
+80 i386 getgroups sys_i86_getgroups16
+81 i386 setgroups sys_i86_setgroups16
+82 i386 select sys_i86_old_select compat_sys_i86_old_select
+83 i386 symlink sys_i86_symlink
+84 i386 oldlstat sys_i86_lstat
+85 i386 readlink sys_i86_readlink
+86 i386 uselib sys_i86_uselib
+87 i386 swapon sys_i86_swapon
+88 i386 reboot sys_i86_reboot
+89 i386 readdir sys_i86_old_readdir compat_sys_i86_old_readdir
+90 i386 mmap sys_i86_old_mmap sys32_mmap
+91 i386 munmap sys_i86_munmap
+92 i386 truncate sys_i86_truncate compat_sys_i86_truncate
+93 i386 ftruncate sys_i86_ftruncate compat_sys_i86_ftruncate
+94 i386 fchmod sys_i86_fchmod
+95 i386 fchown sys_i86_fchown16
+96 i386 getpriority sys_i86_getpriority
+97 i386 setpriority sys_i86_setpriority
98 i386 profil
-99 i386 statfs sys_statfs compat_sys_statfs
-100 i386 fstatfs sys_fstatfs compat_sys_fstatfs
-101 i386 ioperm sys_ioperm
-102 i386 socketcall sys_socketcall compat_sys_socketcall
-103 i386 syslog sys_syslog
-104 i386 setitimer sys_setitimer compat_sys_setitimer
-105 i386 getitimer sys_getitimer compat_sys_getitimer
-106 i386 stat sys_newstat compat_sys_newstat
-107 i386 lstat sys_newlstat compat_sys_newlstat
-108 i386 fstat sys_newfstat compat_sys_newfstat
-109 i386 olduname sys_uname
-110 i386 iopl sys_iopl
-111 i386 vhangup sys_vhangup
+99 i386 statfs sys_i86_statfs compat_sys_i86_statfs
+100 i386 fstatfs sys_i86_fstatfs compat_sys_i86_fstatfs
+101 i386 ioperm sys_i86_ioperm
+102 i386 socketcall sys_i86_socketcall compat_sys_i86_socketcall
+103 i386 syslog sys_i86_syslog
+104 i386 setitimer sys_i86_setitimer compat_sys_i86_setitimer
+105 i386 getitimer sys_i86_getitimer compat_sys_i86_getitimer
+106 i386 stat sys_i86_newstat compat_sys_i86_newstat
+107 i386 lstat sys_i86_newlstat compat_sys_i86_newlstat
+108 i386 fstat sys_i86_newfstat compat_sys_i86_newfstat
+109 i386 olduname sys_i86_uname
+110 i386 iopl sys_i86_iopl
+111 i386 vhangup sys_i86_vhangup
112 i386 idle
-113 i386 vm86old sys_vm86old sys_ni_syscall
-114 i386 wait4 sys_wait4 compat_sys_wait4
-115 i386 swapoff sys_swapoff
-116 i386 sysinfo sys_sysinfo compat_sys_sysinfo
-117 i386 ipc sys_ipc compat_sys_ipc
-118 i386 fsync sys_fsync
-119 i386 sigreturn sys_sigreturn sys32_sigreturn
-120 i386 clone sys_clone stub32_clone
-121 i386 setdomainname sys_setdomainname
-122 i386 uname sys_newuname
-123 i386 modify_ldt sys_modify_ldt
-124 i386 adjtimex sys_adjtimex compat_sys_adjtimex
-125 i386 mprotect sys_mprotect
-126 i386 sigprocmask sys_sigprocmask compat_sys_sigprocmask
+113 i386 vm86old sys_i86_vm86old sys_ni_syscall
+114 i386 wait4 sys_i86_wait4 compat_sys_i86_wait4
+115 i386 swapoff sys_i86_swapoff
+116 i386 sysinfo sys_i86_sysinfo compat_sys_i86_sysinfo
+117 i386 ipc sys_i86_ipc compat_sys_i86_ipc
+118 i386 fsync sys_i86_fsync
+119 i386 sigreturn sys_i86_sigreturn sys32_sigreturn
+120 i386 clone sys_i86_clone stub32_clone
+121 i386 setdomainname sys_i86_setdomainname
+122 i386 uname sys_i86_newuname
+123 i386 modify_ldt sys_i86_modify_ldt
+124 i386 adjtimex sys_i86_adjtimex compat_sys_i86_adjtimex
+125 i386 mprotect sys_i86_mprotect
+126 i386 sigprocmask sys_i86_sigprocmask compat_sys_i86_sigprocmask
127 i386 create_module
-128 i386 init_module sys_init_module
-129 i386 delete_module sys_delete_module
+128 i386 init_module sys_i86_init_module
+129 i386 delete_module sys_i86_delete_module
130 i386 get_kernel_syms
-131 i386 quotactl sys_quotactl sys32_quotactl
-132 i386 getpgid sys_getpgid
-133 i386 fchdir sys_fchdir
-134 i386 bdflush sys_bdflush
-135 i386 sysfs sys_sysfs
-136 i386 personality sys_personality
+131 i386 quotactl sys_i86_quotactl sys32_quotactl
+132 i386 getpgid sys_i86_getpgid
+133 i386 fchdir sys_i86_fchdir
+134 i386 bdflush sys_i86_bdflush
+135 i386 sysfs sys_i86_sysfs
+136 i386 personality sys_i86_personality
137 i386 afs_syscall
-138 i386 setfsuid sys_setfsuid16
-139 i386 setfsgid sys_setfsgid16
-140 i386 _llseek sys_llseek
-141 i386 getdents sys_getdents compat_sys_getdents
-142 i386 _newselect sys_select compat_sys_select
-143 i386 flock sys_flock
-144 i386 msync sys_msync
-145 i386 readv sys_readv compat_sys_readv
-146 i386 writev sys_writev compat_sys_writev
-147 i386 getsid sys_getsid
-148 i386 fdatasync sys_fdatasync
-149 i386 _sysctl sys_sysctl compat_sys_sysctl
-150 i386 mlock sys_mlock
-151 i386 munlock sys_munlock
-152 i386 mlockall sys_mlockall
-153 i386 munlockall sys_munlockall
-154 i386 sched_setparam sys_sched_setparam
-155 i386 sched_getparam sys_sched_getparam
-156 i386 sched_setscheduler sys_sched_setscheduler
-157 i386 sched_getscheduler sys_sched_getscheduler
-158 i386 sched_yield sys_sched_yield
-159 i386 sched_get_priority_max sys_sched_get_priority_max
-160 i386 sched_get_priority_min sys_sched_get_priority_min
-161 i386 sched_rr_get_interval sys_sched_rr_get_interval compat_sys_sched_rr_get_interval
-162 i386 nanosleep sys_nanosleep compat_sys_nanosleep
-163 i386 mremap sys_mremap
-164 i386 setresuid sys_setresuid16
-165 i386 getresuid sys_getresuid16
-166 i386 vm86 sys_vm86 sys_ni_syscall
+138 i386 setfsuid sys_i86_setfsuid16
+139 i386 setfsgid sys_i86_setfsgid16
+140 i386 _llseek sys_i86_llseek
+141 i386 getdents sys_i86_getdents compat_sys_i86_getdents
+142 i386 _newselect sys_i86_select compat_sys_i86_select
+143 i386 flock sys_i86_flock
+144 i386 msync sys_i86_msync
+145 i386 readv sys_i86_readv compat_sys_i86_readv
+146 i386 writev sys_i86_writev compat_sys_i86_writev
+147 i386 getsid sys_i86_getsid
+148 i386 fdatasync sys_i86_fdatasync
+149 i386 _sysctl sys_i86_sysctl compat_sys_i86_sysctl
+150 i386 mlock sys_i86_mlock
+151 i386 munlock sys_i86_munlock
+152 i386 mlockall sys_i86_mlockall
+153 i386 munlockall sys_i86_munlockall
+154 i386 sched_setparam sys_i86_sched_setparam
+155 i386 sched_getparam sys_i86_sched_getparam
+156 i386 sched_setscheduler sys_i86_sched_setscheduler
+157 i386 sched_getscheduler sys_i86_sched_getscheduler
+158 i386 sched_yield sys_i86_sched_yield
+159 i386 sched_get_priority_max sys_i86_sched_get_priority_max
+160 i386 sched_get_priority_min sys_i86_sched_get_priority_min
+161 i386 sched_rr_get_interval sys_i86_sched_rr_get_interval compat_sys_i86_sched_rr_get_interval
+162 i386 nanosleep sys_i86_nanosleep compat_sys_i86_nanosleep
+163 i386 mremap sys_i86_mremap
+164 i386 setresuid sys_i86_setresuid16
+165 i386 getresuid sys_i86_getresuid16
+166 i386 vm86 sys_i86_vm86 sys_ni_syscall
167 i386 query_module
-168 i386 poll sys_poll
+168 i386 poll sys_i86_poll
169 i386 nfsservctl
-170 i386 setresgid sys_setresgid16
-171 i386 getresgid sys_getresgid16
-172 i386 prctl sys_prctl
-173 i386 rt_sigreturn sys_rt_sigreturn sys32_rt_sigreturn
-174 i386 rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction
-175 i386 rt_sigprocmask sys_rt_sigprocmask
-176 i386 rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending
-177 i386 rt_sigtimedwait sys_rt_sigtimedwait compat_sys_rt_sigtimedwait
-178 i386 rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo
-179 i386 rt_sigsuspend sys_rt_sigsuspend
-180 i386 pread64 sys_pread64 sys32_pread
-181 i386 pwrite64 sys_pwrite64 sys32_pwrite
-182 i386 chown sys_chown16
-183 i386 getcwd sys_getcwd
-184 i386 capget sys_capget
-185 i386 capset sys_capset
-186 i386 sigaltstack sys_sigaltstack compat_sys_sigaltstack
-187 i386 sendfile sys_sendfile compat_sys_sendfile
+170 i386 setresgid sys_i86_setresgid16
+171 i386 getresgid sys_i86_getresgid16
+172 i386 prctl sys_i86_prctl
+173 i386 rt_sigreturn sys_i86_rt_sigreturn sys32_rt_sigreturn
+174 i386 rt_sigaction sys_i86_rt_sigaction compat_sys_i86_rt_sigaction
+175 i386 rt_sigprocmask sys_i86_rt_sigprocmask
+176 i386 rt_sigpending sys_i86_rt_sigpending compat_sys_i86_rt_sigpending
+177 i386 rt_sigtimedwait sys_i86_rt_sigtimedwait compat_sys_i86_rt_sigtimedwait
+178 i386 rt_sigqueueinfo sys_i86_rt_sigqueueinfo compat_sys_i86_rt_sigqueueinfo
+179 i386 rt_sigsuspend sys_i86_rt_sigsuspend
+180 i386 pread64 sys_i86_pread64 sys32_pread
+181 i386 pwrite64 sys_i86_pwrite64 sys32_pwrite
+182 i386 chown sys_i86_chown16
+183 i386 getcwd sys_i86_getcwd
+184 i386 capget sys_i86_capget
+185 i386 capset sys_i86_capset
+186 i386 sigaltstack sys_i86_sigaltstack compat_sys_i86_sigaltstack
+187 i386 sendfile sys_i86_sendfile compat_sys_i86_sendfile
188 i386 getpmsg
189 i386 putpmsg
-190 i386 vfork sys_vfork sys_vfork
-191 i386 ugetrlimit sys_getrlimit compat_sys_getrlimit
-192 i386 mmap2 sys_mmap_pgoff
-193 i386 truncate64 sys_truncate64 sys32_truncate64
-194 i386 ftruncate64 sys_ftruncate64 sys32_ftruncate64
-195 i386 stat64 sys_stat64 sys32_stat64
-196 i386 lstat64 sys_lstat64 sys32_lstat64
-197 i386 fstat64 sys_fstat64 sys32_fstat64
-198 i386 lchown32 sys_lchown
-199 i386 getuid32 sys_getuid
-200 i386 getgid32 sys_getgid
-201 i386 geteuid32 sys_geteuid
-202 i386 getegid32 sys_getegid
-203 i386 setreuid32 sys_setreuid
-204 i386 setregid32 sys_setregid
-205 i386 getgroups32 sys_getgroups
-206 i386 setgroups32 sys_setgroups
-207 i386 fchown32 sys_fchown
-208 i386 setresuid32 sys_setresuid
-209 i386 getresuid32 sys_getresuid
-210 i386 setresgid32 sys_setresgid
-211 i386 getresgid32 sys_getresgid
-212 i386 chown32 sys_chown
-213 i386 setuid32 sys_setuid
-214 i386 setgid32 sys_setgid
-215 i386 setfsuid32 sys_setfsuid
-216 i386 setfsgid32 sys_setfsgid
-217 i386 pivot_root sys_pivot_root
-218 i386 mincore sys_mincore
-219 i386 madvise sys_madvise
-220 i386 getdents64 sys_getdents64
-221 i386 fcntl64 sys_fcntl64 compat_sys_fcntl64
+190 i386 vfork sys_i86_vfork sys_i86_vfork
+191 i386 ugetrlimit sys_i86_getrlimit compat_sys_i86_getrlimit
+192 i386 mmap2 sys_i86_mmap_pgoff
+193 i386 truncate64 sys_i86_truncate64 sys32_truncate64
+194 i386 ftruncate64 sys_i86_ftruncate64 sys32_ftruncate64
+195 i386 stat64 sys_i86_stat64 sys32_stat64
+196 i386 lstat64 sys_i86_lstat64 sys32_lstat64
+197 i386 fstat64 sys_i86_fstat64 sys32_fstat64
+198 i386 lchown32 sys_i86_lchown
+199 i386 getuid32 sys_i86_getuid
+200 i386 getgid32 sys_i86_getgid
+201 i386 geteuid32 sys_i86_geteuid
+202 i386 getegid32 sys_i86_getegid
+203 i386 setreuid32 sys_i86_setreuid
+204 i386 setregid32 sys_i86_setregid
+205 i386 getgroups32 sys_i86_getgroups
+206 i386 setgroups32 sys_i86_setgroups
+207 i386 fchown32 sys_i86_fchown
+208 i386 setresuid32 sys_i86_setresuid
+209 i386 getresuid32 sys_i86_getresuid
+210 i386 setresgid32 sys_i86_setresgid
+211 i386 getresgid32 sys_i86_getresgid
+212 i386 chown32 sys_i86_chown
+213 i386 setuid32 sys_i86_setuid
+214 i386 setgid32 sys_i86_setgid
+215 i386 setfsuid32 sys_i86_setfsuid
+216 i386 setfsgid32 sys_i86_setfsgid
+217 i386 pivot_root sys_i86_pivot_root
+218 i386 mincore sys_i86_mincore
+219 i386 madvise sys_i86_madvise
+220 i386 getdents64 sys_i86_getdents64
+221 i386 fcntl64 sys_i86_fcntl64 compat_sys_i86_fcntl64
# 222 is unused
# 223 is unused
-224 i386 gettid sys_gettid
-225 i386 readahead sys_readahead sys32_readahead
-226 i386 setxattr sys_setxattr
-227 i386 lsetxattr sys_lsetxattr
-228 i386 fsetxattr sys_fsetxattr
-229 i386 getxattr sys_getxattr
-230 i386 lgetxattr sys_lgetxattr
-231 i386 fgetxattr sys_fgetxattr
-232 i386 listxattr sys_listxattr
-233 i386 llistxattr sys_llistxattr
-234 i386 flistxattr sys_flistxattr
-235 i386 removexattr sys_removexattr
-236 i386 lremovexattr sys_lremovexattr
-237 i386 fremovexattr sys_fremovexattr
-238 i386 tkill sys_tkill
-239 i386 sendfile64 sys_sendfile64
-240 i386 futex sys_futex compat_sys_futex
-241 i386 sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity
-242 i386 sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity
-243 i386 set_thread_area sys_set_thread_area
-244 i386 get_thread_area sys_get_thread_area
-245 i386 io_setup sys_io_setup compat_sys_io_setup
-246 i386 io_destroy sys_io_destroy
-247 i386 io_getevents sys_io_getevents compat_sys_io_getevents
-248 i386 io_submit sys_io_submit compat_sys_io_submit
-249 i386 io_cancel sys_io_cancel
-250 i386 fadvise64 sys_fadvise64 sys32_fadvise64
+224 i386 gettid sys_i86_gettid
+225 i386 readahead sys_i86_readahead sys32_readahead
+226 i386 setxattr sys_i86_setxattr
+227 i386 lsetxattr sys_i86_lsetxattr
+228 i386 fsetxattr sys_i86_fsetxattr
+229 i386 getxattr sys_i86_getxattr
+230 i386 lgetxattr sys_i86_lgetxattr
+231 i386 fgetxattr sys_i86_fgetxattr
+232 i386 listxattr sys_i86_listxattr
+233 i386 llistxattr sys_i86_llistxattr
+234 i386 flistxattr sys_i86_flistxattr
+235 i386 removexattr sys_i86_removexattr
+236 i386 lremovexattr sys_i86_lremovexattr
+237 i386 fremovexattr sys_i86_fremovexattr
+238 i386 tkill sys_i86_tkill
+239 i386 sendfile64 sys_i86_sendfile64
+240 i386 futex sys_i86_futex compat_sys_i86_futex
+241 i386 sched_setaffinity sys_i86_sched_setaffinity compat_sys_i86_sched_setaffinity
+242 i386 sched_getaffinity sys_i86_sched_getaffinity compat_sys_i86_sched_getaffinity
+243 i386 set_thread_area sys_i86_set_thread_area
+244 i386 get_thread_area sys_i86_get_thread_area
+245 i386 io_setup sys_i86_io_setup compat_sys_i86_io_setup
+246 i386 io_destroy sys_i86_io_destroy
+247 i386 io_getevents sys_i86_io_getevents compat_sys_i86_io_getevents
+248 i386 io_submit sys_i86_io_submit compat_sys_i86_io_submit
+249 i386 io_cancel sys_i86_io_cancel
+250 i386 fadvise64 sys_i86_fadvise64 sys32_fadvise64
# 251 is available for reuse (was briefly sys_set_zone_reclaim)
-252 i386 exit_group sys_exit_group
-253 i386 lookup_dcookie sys_lookup_dcookie compat_sys_lookup_dcookie
-254 i386 epoll_create sys_epoll_create
-255 i386 epoll_ctl sys_epoll_ctl
-256 i386 epoll_wait sys_epoll_wait
-257 i386 remap_file_pages sys_remap_file_pages
-258 i386 set_tid_address sys_set_tid_address
-259 i386 timer_create sys_timer_create compat_sys_timer_create
-260 i386 timer_settime sys_timer_settime compat_sys_timer_settime
-261 i386 timer_gettime sys_timer_gettime compat_sys_timer_gettime
-262 i386 timer_getoverrun sys_timer_getoverrun
-263 i386 timer_delete sys_timer_delete
-264 i386 clock_settime sys_clock_settime compat_sys_clock_settime
-265 i386 clock_gettime sys_clock_gettime compat_sys_clock_gettime
-266 i386 clock_getres sys_clock_getres compat_sys_clock_getres
-267 i386 clock_nanosleep sys_clock_nanosleep compat_sys_clock_nanosleep
-268 i386 statfs64 sys_statfs64 compat_sys_statfs64
-269 i386 fstatfs64 sys_fstatfs64 compat_sys_fstatfs64
-270 i386 tgkill sys_tgkill
-271 i386 utimes sys_utimes compat_sys_utimes
-272 i386 fadvise64_64 sys_fadvise64_64 sys32_fadvise64_64
+252 i386 exit_group sys_i86_exit_group
+253 i386 lookup_dcookie sys_i86_lookup_dcookie compat_sys_i86_lookup_dcookie
+254 i386 epoll_create sys_i86_epoll_create
+255 i386 epoll_ctl sys_i86_epoll_ctl
+256 i386 epoll_wait sys_i86_epoll_wait
+257 i386 remap_file_pages sys_i86_remap_file_pages
+258 i386 set_tid_address sys_i86_set_tid_address
+259 i386 timer_create sys_i86_timer_create compat_sys_i86_timer_create
+260 i386 timer_settime sys_i86_timer_settime compat_sys_i86_timer_settime
+261 i386 timer_gettime sys_i86_timer_gettime compat_sys_i86_timer_gettime
+262 i386 timer_getoverrun sys_i86_timer_getoverrun
+263 i386 timer_delete sys_i86_timer_delete
+264 i386 clock_settime sys_i86_clock_settime compat_sys_i86_clock_settime
+265 i386 clock_gettime sys_i86_clock_gettime compat_sys_i86_clock_gettime
+266 i386 clock_getres sys_i86_clock_getres compat_sys_i86_clock_getres
+267 i386 clock_nanosleep sys_i86_clock_nanosleep compat_sys_i86_clock_nanosleep
+268 i386 statfs64 sys_i86_statfs64 compat_sys_i86_statfs64
+269 i386 fstatfs64 sys_i86_fstatfs64 compat_sys_i86_fstatfs64
+270 i386 tgkill sys_i86_tgkill
+271 i386 utimes sys_i86_utimes compat_sys_i86_utimes
+272 i386 fadvise64_64 sys_i86_fadvise64_64 sys32_fadvise64_64
273 i386 vserver
-274 i386 mbind sys_mbind
-275 i386 get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy
-276 i386 set_mempolicy sys_set_mempolicy
-277 i386 mq_open sys_mq_open compat_sys_mq_open
-278 i386 mq_unlink sys_mq_unlink
-279 i386 mq_timedsend sys_mq_timedsend compat_sys_mq_timedsend
-280 i386 mq_timedreceive sys_mq_timedreceive compat_sys_mq_timedreceive
-281 i386 mq_notify sys_mq_notify compat_sys_mq_notify
-282 i386 mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr
-283 i386 kexec_load sys_kexec_load compat_sys_kexec_load
-284 i386 waitid sys_waitid compat_sys_waitid
+274 i386 mbind sys_i86_mbind
+275 i386 get_mempolicy sys_i86_get_mempolicy compat_sys_i86_get_mempolicy
+276 i386 set_mempolicy sys_i86_set_mempolicy
+277 i386 mq_open sys_i86_mq_open compat_sys_i86_mq_open
+278 i386 mq_unlink sys_i86_mq_unlink
+279 i386 mq_timedsend sys_i86_mq_timedsend compat_sys_i86_mq_timedsend
+280 i386 mq_timedreceive sys_i86_mq_timedreceive compat_sys_i86_mq_timedreceive
+281 i386 mq_notify sys_i86_mq_notify compat_sys_i86_mq_notify
+282 i386 mq_getsetattr sys_i86_mq_getsetattr compat_sys_i86_mq_getsetattr
+283 i386 kexec_load sys_i86_kexec_load compat_sys_i86_kexec_load
+284 i386 waitid sys_i86_waitid compat_sys_i86_waitid
# 285 sys_setaltroot
-286 i386 add_key sys_add_key
-287 i386 request_key sys_request_key
-288 i386 keyctl sys_keyctl compat_sys_keyctl
-289 i386 ioprio_set sys_ioprio_set
-290 i386 ioprio_get sys_ioprio_get
-291 i386 inotify_init sys_inotify_init
-292 i386 inotify_add_watch sys_inotify_add_watch
-293 i386 inotify_rm_watch sys_inotify_rm_watch
-294 i386 migrate_pages sys_migrate_pages
-295 i386 openat sys_openat compat_sys_openat
-296 i386 mkdirat sys_mkdirat
-297 i386 mknodat sys_mknodat
-298 i386 fchownat sys_fchownat
-299 i386 futimesat sys_futimesat compat_sys_futimesat
-300 i386 fstatat64 sys_fstatat64 sys32_fstatat
-301 i386 unlinkat sys_unlinkat
-302 i386 renameat sys_renameat
-303 i386 linkat sys_linkat
-304 i386 symlinkat sys_symlinkat
-305 i386 readlinkat sys_readlinkat
-306 i386 fchmodat sys_fchmodat
-307 i386 faccessat sys_faccessat
-308 i386 pselect6 sys_pselect6 compat_sys_pselect6
-309 i386 ppoll sys_ppoll compat_sys_ppoll
-310 i386 unshare sys_unshare
-311 i386 set_robust_list sys_set_robust_list compat_sys_set_robust_list
-312 i386 get_robust_list sys_get_robust_list compat_sys_get_robust_list
-313 i386 splice sys_splice
-314 i386 sync_file_range sys_sync_file_range sys32_sync_file_range
-315 i386 tee sys_tee
-316 i386 vmsplice sys_vmsplice compat_sys_vmsplice
-317 i386 move_pages sys_move_pages compat_sys_move_pages
-318 i386 getcpu sys_getcpu
-319 i386 epoll_pwait sys_epoll_pwait
-320 i386 utimensat sys_utimensat compat_sys_utimensat
-321 i386 signalfd sys_signalfd compat_sys_signalfd
-322 i386 timerfd_create sys_timerfd_create
-323 i386 eventfd sys_eventfd
-324 i386 fallocate sys_fallocate sys32_fallocate
-325 i386 timerfd_settime sys_timerfd_settime compat_sys_timerfd_settime
-326 i386 timerfd_gettime sys_timerfd_gettime compat_sys_timerfd_gettime
-327 i386 signalfd4 sys_signalfd4 compat_sys_signalfd4
-328 i386 eventfd2 sys_eventfd2
-329 i386 epoll_create1 sys_epoll_create1
-330 i386 dup3 sys_dup3
-331 i386 pipe2 sys_pipe2
-332 i386 inotify_init1 sys_inotify_init1
-333 i386 preadv sys_preadv compat_sys_preadv
-334 i386 pwritev sys_pwritev compat_sys_pwritev
-335 i386 rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
-336 i386 perf_event_open sys_perf_event_open
-337 i386 recvmmsg sys_recvmmsg compat_sys_recvmmsg
-338 i386 fanotify_init sys_fanotify_init
-339 i386 fanotify_mark sys_fanotify_mark compat_sys_fanotify_mark
-340 i386 prlimit64 sys_prlimit64
-341 i386 name_to_handle_at sys_name_to_handle_at
-342 i386 open_by_handle_at sys_open_by_handle_at compat_sys_open_by_handle_at
-343 i386 clock_adjtime sys_clock_adjtime compat_sys_clock_adjtime
-344 i386 syncfs sys_syncfs
-345 i386 sendmmsg sys_sendmmsg compat_sys_sendmmsg
-346 i386 setns sys_setns
-347 i386 process_vm_readv sys_process_vm_readv compat_sys_process_vm_readv
-348 i386 process_vm_writev sys_process_vm_writev compat_sys_process_vm_writev
-349 i386 kcmp sys_kcmp
-350 i386 finit_module sys_finit_module
-351 i386 sched_setattr sys_sched_setattr
-352 i386 sched_getattr sys_sched_getattr
-353 i386 renameat2 sys_renameat2
-354 i386 seccomp sys_seccomp
-355 i386 getrandom sys_getrandom
-356 i386 memfd_create sys_memfd_create
-357 i386 bpf sys_bpf
-358 i386 execveat sys_execveat compat_sys_execveat
-359 i386 socket sys_socket
-360 i386 socketpair sys_socketpair
-361 i386 bind sys_bind
-362 i386 connect sys_connect
-363 i386 listen sys_listen
-364 i386 accept4 sys_accept4
-365 i386 getsockopt sys_getsockopt compat_sys_getsockopt
-366 i386 setsockopt sys_setsockopt compat_sys_setsockopt
-367 i386 getsockname sys_getsockname
-368 i386 getpeername sys_getpeername
-369 i386 sendto sys_sendto
-370 i386 sendmsg sys_sendmsg compat_sys_sendmsg
-371 i386 recvfrom sys_recvfrom compat_sys_recvfrom
-372 i386 recvmsg sys_recvmsg compat_sys_recvmsg
-373 i386 shutdown sys_shutdown
-374 i386 userfaultfd sys_userfaultfd
-375 i386 membarrier sys_membarrier
-376 i386 mlock2 sys_mlock2
-377 i386 copy_file_range sys_copy_file_range
-378 i386 preadv2 sys_preadv2 compat_sys_preadv2
-379 i386 pwritev2 sys_pwritev2 compat_sys_pwritev2
-380 i386 pkey_mprotect sys_pkey_mprotect
-381 i386 pkey_alloc sys_pkey_alloc
-382 i386 pkey_free sys_pkey_free
-383 i386 statx sys_statx
-384 i386 arch_prctl sys_arch_prctl compat_sys_arch_prctl
+286 i386 add_key sys_i86_add_key
+287 i386 request_key sys_i86_request_key
+288 i386 keyctl sys_i86_keyctl compat_sys_i86_keyctl
+289 i386 ioprio_set sys_i86_ioprio_set
+290 i386 ioprio_get sys_i86_ioprio_get
+291 i386 inotify_init sys_i86_inotify_init
+292 i386 inotify_add_watch sys_i86_inotify_add_watch
+293 i386 inotify_rm_watch sys_i86_inotify_rm_watch
+294 i386 migrate_pages sys_i86_migrate_pages
+295 i386 openat sys_i86_openat compat_sys_i86_openat
+296 i386 mkdirat sys_i86_mkdirat
+297 i386 mknodat sys_i86_mknodat
+298 i386 fchownat sys_i86_fchownat
+299 i386 futimesat sys_i86_futimesat compat_sys_i86_futimesat
+300 i386 fstatat64 sys_i86_fstatat64 sys32_fstatat
+301 i386 unlinkat sys_i86_unlinkat
+302 i386 renameat sys_i86_renameat
+303 i386 linkat sys_i86_linkat
+304 i386 symlinkat sys_i86_symlinkat
+305 i386 readlinkat sys_i86_readlinkat
+306 i386 fchmodat sys_i86_fchmodat
+307 i386 faccessat sys_i86_faccessat
+308 i386 pselect6 sys_i86_pselect6 compat_sys_i86_pselect6
+309 i386 ppoll sys_i86_ppoll compat_sys_i86_ppoll
+310 i386 unshare sys_i86_unshare
+311 i386 set_robust_list sys_i86_set_robust_list compat_sys_i86_set_robust_list
+312 i386 get_robust_list sys_i86_get_robust_list compat_sys_i86_get_robust_list
+313 i386 splice sys_i86_splice
+314 i386 sync_file_range sys_i86_sync_file_range sys32_sync_file_range
+315 i386 tee sys_i86_tee
+316 i386 vmsplice sys_i86_vmsplice compat_sys_i86_vmsplice
+317 i386 move_pages sys_i86_move_pages compat_sys_i86_move_pages
+318 i386 getcpu sys_i86_getcpu
+319 i386 epoll_pwait sys_i86_epoll_pwait
+320 i386 utimensat sys_i86_utimensat compat_sys_i86_utimensat
+321 i386 signalfd sys_i86_signalfd compat_sys_i86_signalfd
+322 i386 timerfd_create sys_i86_timerfd_create
+323 i386 eventfd sys_i86_eventfd
+324 i386 fallocate sys_i86_fallocate sys32_fallocate
+325 i386 timerfd_settime sys_i86_timerfd_settime compat_sys_i86_timerfd_settime
+326 i386 timerfd_gettime sys_i86_timerfd_gettime compat_sys_i86_timerfd_gettime
+327 i386 signalfd4 sys_i86_signalfd4 compat_sys_i86_signalfd4
+328 i386 eventfd2 sys_i86_eventfd2
+329 i386 epoll_create1 sys_i86_epoll_create1
+330 i386 dup3 sys_i86_dup3
+331 i386 pipe2 sys_i86_pipe2
+332 i386 inotify_init1 sys_i86_inotify_init1
+333 i386 preadv sys_i86_preadv compat_sys_i86_preadv
+334 i386 pwritev sys_i86_pwritev compat_sys_i86_pwritev
+335 i386 rt_tgsigqueueinfo sys_i86_rt_tgsigqueueinfo compat_sys_i86_rt_tgsigqueueinfo
+336 i386 perf_event_open sys_i86_perf_event_open
+337 i386 recvmmsg sys_i86_recvmmsg compat_sys_i86_recvmmsg
+338 i386 fanotify_init sys_i86_fanotify_init
+339 i386 fanotify_mark sys_i86_fanotify_mark compat_sys_i86_fanotify_mark
+340 i386 prlimit64 sys_i86_prlimit64
+341 i386 name_to_handle_at sys_i86_name_to_handle_at
+342 i386 open_by_handle_at sys_i86_open_by_handle_at compat_sys_i86_open_by_handle_at
+343 i386 clock_adjtime sys_i86_clock_adjtime compat_sys_i86_clock_adjtime
+344 i386 syncfs sys_i86_syncfs
+345 i386 sendmmsg sys_i86_sendmmsg compat_sys_i86_sendmmsg
+346 i386 setns sys_i86_setns
+347 i386 process_vm_readv sys_i86_process_vm_readv compat_sys_i86_process_vm_readv
+348 i386 process_vm_writev sys_i86_process_vm_writev compat_sys_i86_process_vm_writev
+349 i386 kcmp sys_i86_kcmp
+350 i386 finit_module sys_i86_finit_module
+351 i386 sched_setattr sys_i86_sched_setattr
+352 i386 sched_getattr sys_i86_sched_getattr
+353 i386 renameat2 sys_i86_renameat2
+354 i386 seccomp sys_i86_seccomp
+355 i386 getrandom sys_i86_getrandom
+356 i386 memfd_create sys_i86_memfd_create
+357 i386 bpf sys_i86_bpf
+358 i386 execveat sys_i86_execveat compat_sys_i86_execveat
+359 i386 socket sys_i86_socket
+360 i386 socketpair sys_i86_socketpair
+361 i386 bind sys_i86_bind
+362 i386 connect sys_i86_connect
+363 i386 listen sys_i86_listen
+364 i386 accept4 sys_i86_accept4
+365 i386 getsockopt sys_i86_getsockopt compat_sys_i86_getsockopt
+366 i386 setsockopt sys_i86_setsockopt compat_sys_i86_setsockopt
+367 i386 getsockname sys_i86_getsockname
+368 i386 getpeername sys_i86_getpeername
+369 i386 sendto sys_i86_sendto
+370 i386 sendmsg sys_i86_sendmsg compat_sys_i86_sendmsg
+371 i386 recvfrom sys_i86_recvfrom compat_sys_i86_recvfrom
+372 i386 recvmsg sys_i86_recvmsg compat_sys_i86_recvmsg
+373 i386 shutdown sys_i86_shutdown
+374 i386 userfaultfd sys_i86_userfaultfd
+375 i386 membarrier sys_i86_membarrier
+376 i386 mlock2 sys_i86_mlock2
+377 i386 copy_file_range sys_i86_copy_file_range
+378 i386 preadv2 sys_i86_preadv2 compat_sys_i86_preadv2
+379 i386 pwritev2 sys_i86_pwritev2 compat_sys_i86_pwritev2
+380 i386 pkey_mprotect sys_i86_pkey_mprotect
+381 i386 pkey_alloc sys_i86_pkey_alloc
+382 i386 pkey_free sys_i86_pkey_free
+383 i386 statx sys_i86_statx
+384 i386 arch_prctl sys_i86_arch_prctl compat_sys_i86_arch_prctl
diff --git a/arch/x86/entry/syscalls/syscall_64.tbl b/arch/x86/entry/syscalls/syscall_64.tbl
index 5aef183e2f85..35ba9d216c50 100644
--- a/arch/x86/entry/syscalls/syscall_64.tbl
+++ b/arch/x86/entry/syscalls/syscall_64.tbl
@@ -6,377 +6,377 @@
#
# The abi is "common", "64" or "x32" for this file.
#
-0 common read sys_read
-1 common write sys_write
-2 common open sys_open
-3 common close sys_close
-4 common stat sys_newstat
-5 common fstat sys_newfstat
-6 common lstat sys_newlstat
-7 common poll sys_poll
-8 common lseek sys_lseek
-9 common mmap sys_mmap
-10 common mprotect sys_mprotect
-11 common munmap sys_munmap
-12 common brk sys_brk
-13 64 rt_sigaction sys_rt_sigaction
-14 common rt_sigprocmask sys_rt_sigprocmask
-15 64 rt_sigreturn sys_rt_sigreturn/ptregs
-16 64 ioctl sys_ioctl
-17 common pread64 sys_pread64
-18 common pwrite64 sys_pwrite64
-19 64 readv sys_readv
-20 64 writev sys_writev
-21 common access sys_access
-22 common pipe sys_pipe
-23 common select sys_select
-24 common sched_yield sys_sched_yield
-25 common mremap sys_mremap
-26 common msync sys_msync
-27 common mincore sys_mincore
-28 common madvise sys_madvise
-29 common shmget sys_shmget
-30 common shmat sys_shmat
-31 common shmctl sys_shmctl
-32 common dup sys_dup
-33 common dup2 sys_dup2
-34 common pause sys_pause
-35 common nanosleep sys_nanosleep
-36 common getitimer sys_getitimer
-37 common alarm sys_alarm
-38 common setitimer sys_setitimer
-39 common getpid sys_getpid
-40 common sendfile sys_sendfile64
-41 common socket sys_socket
-42 common connect sys_connect
-43 common accept sys_accept
-44 common sendto sys_sendto
-45 64 recvfrom sys_recvfrom
-46 64 sendmsg sys_sendmsg
-47 64 recvmsg sys_recvmsg
-48 common shutdown sys_shutdown
-49 common bind sys_bind
-50 common listen sys_listen
-51 common getsockname sys_getsockname
-52 common getpeername sys_getpeername
-53 common socketpair sys_socketpair
-54 64 setsockopt sys_setsockopt
-55 64 getsockopt sys_getsockopt
-56 common clone sys_clone/ptregs
-57 common fork sys_fork/ptregs
-58 common vfork sys_vfork/ptregs
-59 64 execve sys_execve/ptregs
-60 common exit sys_exit
-61 common wait4 sys_wait4
-62 common kill sys_kill
-63 common uname sys_newuname
-64 common semget sys_semget
-65 common semop sys_semop
-66 common semctl sys_semctl
-67 common shmdt sys_shmdt
-68 common msgget sys_msgget
-69 common msgsnd sys_msgsnd
-70 common msgrcv sys_msgrcv
-71 common msgctl sys_msgctl
-72 common fcntl sys_fcntl
-73 common flock sys_flock
-74 common fsync sys_fsync
-75 common fdatasync sys_fdatasync
-76 common truncate sys_truncate
-77 common ftruncate sys_ftruncate
-78 common getdents sys_getdents
-79 common getcwd sys_getcwd
-80 common chdir sys_chdir
-81 common fchdir sys_fchdir
-82 common rename sys_rename
-83 common mkdir sys_mkdir
-84 common rmdir sys_rmdir
-85 common creat sys_creat
-86 common link sys_link
-87 common unlink sys_unlink
-88 common symlink sys_symlink
-89 common readlink sys_readlink
-90 common chmod sys_chmod
-91 common fchmod sys_fchmod
-92 common chown sys_chown
-93 common fchown sys_fchown
-94 common lchown sys_lchown
-95 common umask sys_umask
-96 common gettimeofday sys_gettimeofday
-97 common getrlimit sys_getrlimit
-98 common getrusage sys_getrusage
-99 common sysinfo sys_sysinfo
-100 common times sys_times
-101 64 ptrace sys_ptrace
-102 common getuid sys_getuid
-103 common syslog sys_syslog
-104 common getgid sys_getgid
-105 common setuid sys_setuid
-106 common setgid sys_setgid
-107 common geteuid sys_geteuid
-108 common getegid sys_getegid
-109 common setpgid sys_setpgid
-110 common getppid sys_getppid
-111 common getpgrp sys_getpgrp
-112 common setsid sys_setsid
-113 common setreuid sys_setreuid
-114 common setregid sys_setregid
-115 common getgroups sys_getgroups
-116 common setgroups sys_setgroups
-117 common setresuid sys_setresuid
-118 common getresuid sys_getresuid
-119 common setresgid sys_setresgid
-120 common getresgid sys_getresgid
-121 common getpgid sys_getpgid
-122 common setfsuid sys_setfsuid
-123 common setfsgid sys_setfsgid
-124 common getsid sys_getsid
-125 common capget sys_capget
-126 common capset sys_capset
-127 64 rt_sigpending sys_rt_sigpending
-128 64 rt_sigtimedwait sys_rt_sigtimedwait
-129 64 rt_sigqueueinfo sys_rt_sigqueueinfo
-130 common rt_sigsuspend sys_rt_sigsuspend
-131 64 sigaltstack sys_sigaltstack
-132 common utime sys_utime
-133 common mknod sys_mknod
+0 common read sys_x64_read
+1 common write sys_x64_write
+2 common open sys_x64_open
+3 common close sys_x64_close
+4 common stat sys_x64_newstat
+5 common fstat sys_x64_newfstat
+6 common lstat sys_x64_newlstat
+7 common poll sys_x64_poll
+8 common lseek sys_x64_lseek
+9 common mmap sys_x64_mmap
+10 common mprotect sys_x64_mprotect
+11 common munmap sys_x64_munmap
+12 common brk sys_x64_brk
+13 64 rt_sigaction sys_x64_rt_sigaction
+14 common rt_sigprocmask sys_x64_rt_sigprocmask
+15 64 rt_sigreturn sys_x64_rt_sigreturn/ptregs
+16 64 ioctl sys_x64_ioctl
+17 common pread64 sys_x64_pread64
+18 common pwrite64 sys_x64_pwrite64
+19 64 readv sys_x64_readv
+20 64 writev sys_x64_writev
+21 common access sys_x64_access
+22 common pipe sys_x64_pipe
+23 common select sys_x64_select
+24 common sched_yield sys_x64_sched_yield
+25 common mremap sys_x64_mremap
+26 common msync sys_x64_msync
+27 common mincore sys_x64_mincore
+28 common madvise sys_x64_madvise
+29 common shmget sys_x64_shmget
+30 common shmat sys_x64_shmat
+31 common shmctl sys_x64_shmctl
+32 common dup sys_x64_dup
+33 common dup2 sys_x64_dup2
+34 common pause sys_x64_pause
+35 common nanosleep sys_x64_nanosleep
+36 common getitimer sys_x64_getitimer
+37 common alarm sys_x64_alarm
+38 common setitimer sys_x64_setitimer
+39 common getpid sys_x64_getpid
+40 common sendfile sys_x64_sendfile64
+41 common socket sys_x64_socket
+42 common connect sys_x64_connect
+43 common accept sys_x64_accept
+44 common sendto sys_x64_sendto
+45 64 recvfrom sys_x64_recvfrom
+46 64 sendmsg sys_x64_sendmsg
+47 64 recvmsg sys_x64_recvmsg
+48 common shutdown sys_x64_shutdown
+49 common bind sys_x64_bind
+50 common listen sys_x64_listen
+51 common getsockname sys_x64_getsockname
+52 common getpeername sys_x64_getpeername
+53 common socketpair sys_x64_socketpair
+54 64 setsockopt sys_x64_setsockopt
+55 64 getsockopt sys_x64_getsockopt
+56 common clone sys_x64_clone/ptregs
+57 common fork sys_x64_fork/ptregs
+58 common vfork sys_x64_vfork/ptregs
+59 64 execve sys_x64_execve/ptregs
+60 common exit sys_x64_exit
+61 common wait4 sys_x64_wait4
+62 common kill sys_x64_kill
+63 common uname sys_x64_newuname
+64 common semget sys_x64_semget
+65 common semop sys_x64_semop
+66 common semctl sys_x64_semctl
+67 common shmdt sys_x64_shmdt
+68 common msgget sys_x64_msgget
+69 common msgsnd sys_x64_msgsnd
+70 common msgrcv sys_x64_msgrcv
+71 common msgctl sys_x64_msgctl
+72 common fcntl sys_x64_fcntl
+73 common flock sys_x64_flock
+74 common fsync sys_x64_fsync
+75 common fdatasync sys_x64_fdatasync
+76 common truncate sys_x64_truncate
+77 common ftruncate sys_x64_ftruncate
+78 common getdents sys_x64_getdents
+79 common getcwd sys_x64_getcwd
+80 common chdir sys_x64_chdir
+81 common fchdir sys_x64_fchdir
+82 common rename sys_x64_rename
+83 common mkdir sys_x64_mkdir
+84 common rmdir sys_x64_rmdir
+85 common creat sys_x64_creat
+86 common link sys_x64_link
+87 common unlink sys_x64_unlink
+88 common symlink sys_x64_symlink
+89 common readlink sys_x64_readlink
+90 common chmod sys_x64_chmod
+91 common fchmod sys_x64_fchmod
+92 common chown sys_x64_chown
+93 common fchown sys_x64_fchown
+94 common lchown sys_x64_lchown
+95 common umask sys_x64_umask
+96 common gettimeofday sys_x64_gettimeofday
+97 common getrlimit sys_x64_getrlimit
+98 common getrusage sys_x64_getrusage
+99 common sysinfo sys_x64_sysinfo
+100 common times sys_x64_times
+101 64 ptrace sys_x64_ptrace
+102 common getuid sys_x64_getuid
+103 common syslog sys_x64_syslog
+104 common getgid sys_x64_getgid
+105 common setuid sys_x64_setuid
+106 common setgid sys_x64_setgid
+107 common geteuid sys_x64_geteuid
+108 common getegid sys_x64_getegid
+109 common setpgid sys_x64_setpgid
+110 common getppid sys_x64_getppid
+111 common getpgrp sys_x64_getpgrp
+112 common setsid sys_x64_setsid
+113 common setreuid sys_x64_setreuid
+114 common setregid sys_x64_setregid
+115 common getgroups sys_x64_getgroups
+116 common setgroups sys_x64_setgroups
+117 common setresuid sys_x64_setresuid
+118 common getresuid sys_x64_getresuid
+119 common setresgid sys_x64_setresgid
+120 common getresgid sys_x64_getresgid
+121 common getpgid sys_x64_getpgid
+122 common setfsuid sys_x64_setfsuid
+123 common setfsgid sys_x64_setfsgid
+124 common getsid sys_x64_getsid
+125 common capget sys_x64_capget
+126 common capset sys_x64_capset
+127 64 rt_sigpending sys_x64_rt_sigpending
+128 64 rt_sigtimedwait sys_x64_rt_sigtimedwait
+129 64 rt_sigqueueinfo sys_x64_rt_sigqueueinfo
+130 common rt_sigsuspend sys_x64_rt_sigsuspend
+131 64 sigaltstack sys_x64_sigaltstack
+132 common utime sys_x64_utime
+133 common mknod sys_x64_mknod
134 64 uselib
-135 common personality sys_personality
-136 common ustat sys_ustat
-137 common statfs sys_statfs
-138 common fstatfs sys_fstatfs
-139 common sysfs sys_sysfs
-140 common getpriority sys_getpriority
-141 common setpriority sys_setpriority
-142 common sched_setparam sys_sched_setparam
-143 common sched_getparam sys_sched_getparam
-144 common sched_setscheduler sys_sched_setscheduler
-145 common sched_getscheduler sys_sched_getscheduler
-146 common sched_get_priority_max sys_sched_get_priority_max
-147 common sched_get_priority_min sys_sched_get_priority_min
-148 common sched_rr_get_interval sys_sched_rr_get_interval
-149 common mlock sys_mlock
-150 common munlock sys_munlock
-151 common mlockall sys_mlockall
-152 common munlockall sys_munlockall
-153 common vhangup sys_vhangup
-154 common modify_ldt sys_modify_ldt
-155 common pivot_root sys_pivot_root
-156 64 _sysctl sys_sysctl
-157 common prctl sys_prctl
-158 common arch_prctl sys_arch_prctl
-159 common adjtimex sys_adjtimex
-160 common setrlimit sys_setrlimit
-161 common chroot sys_chroot
-162 common sync sys_sync
-163 common acct sys_acct
-164 common settimeofday sys_settimeofday
-165 common mount sys_mount
-166 common umount2 sys_umount
-167 common swapon sys_swapon
-168 common swapoff sys_swapoff
-169 common reboot sys_reboot
-170 common sethostname sys_sethostname
-171 common setdomainname sys_setdomainname
-172 common iopl sys_iopl/ptregs
-173 common ioperm sys_ioperm
+135 common personality sys_x64_personality
+136 common ustat sys_x64_ustat
+137 common statfs sys_x64_statfs
+138 common fstatfs sys_x64_fstatfs
+139 common sysfs sys_x64_sysfs
+140 common getpriority sys_x64_getpriority
+141 common setpriority sys_x64_setpriority
+142 common sched_setparam sys_x64_sched_setparam
+143 common sched_getparam sys_x64_sched_getparam
+144 common sched_setscheduler sys_x64_sched_setscheduler
+145 common sched_getscheduler sys_x64_sched_getscheduler
+146 common sched_get_priority_max sys_x64_sched_get_priority_max
+147 common sched_get_priority_min sys_x64_sched_get_priority_min
+148 common sched_rr_get_interval sys_x64_sched_rr_get_interval
+149 common mlock sys_x64_mlock
+150 common munlock sys_x64_munlock
+151 common mlockall sys_x64_mlockall
+152 common munlockall sys_x64_munlockall
+153 common vhangup sys_x64_vhangup
+154 common modify_ldt sys_x64_modify_ldt
+155 common pivot_root sys_x64_pivot_root
+156 64 _sysctl sys_x64_sysctl
+157 common prctl sys_x64_prctl
+158 common arch_prctl sys_x64_arch_prctl
+159 common adjtimex sys_x64_adjtimex
+160 common setrlimit sys_x64_setrlimit
+161 common chroot sys_x64_chroot
+162 common sync sys_x64_sync
+163 common acct sys_x64_acct
+164 common settimeofday sys_x64_settimeofday
+165 common mount sys_x64_mount
+166 common umount2 sys_x64_umount
+167 common swapon sys_x64_swapon
+168 common swapoff sys_x64_swapoff
+169 common reboot sys_x64_reboot
+170 common sethostname sys_x64_sethostname
+171 common setdomainname sys_x64_setdomainname
+172 common iopl sys_x64_iopl/ptregs
+173 common ioperm sys_x64_ioperm
174 64 create_module
-175 common init_module sys_init_module
-176 common delete_module sys_delete_module
+175 common init_module sys_x64_init_module
+176 common delete_module sys_x64_delete_module
177 64 get_kernel_syms
178 64 query_module
-179 common quotactl sys_quotactl
+179 common quotactl sys_x64_quotactl
180 64 nfsservctl
181 common getpmsg
182 common putpmsg
183 common afs_syscall
184 common tuxcall
185 common security
-186 common gettid sys_gettid
-187 common readahead sys_readahead
-188 common setxattr sys_setxattr
-189 common lsetxattr sys_lsetxattr
-190 common fsetxattr sys_fsetxattr
-191 common getxattr sys_getxattr
-192 common lgetxattr sys_lgetxattr
-193 common fgetxattr sys_fgetxattr
-194 common listxattr sys_listxattr
-195 common llistxattr sys_llistxattr
-196 common flistxattr sys_flistxattr
-197 common removexattr sys_removexattr
-198 common lremovexattr sys_lremovexattr
-199 common fremovexattr sys_fremovexattr
-200 common tkill sys_tkill
-201 common time sys_time
-202 common futex sys_futex
-203 common sched_setaffinity sys_sched_setaffinity
-204 common sched_getaffinity sys_sched_getaffinity
+186 common gettid sys_x64_gettid
+187 common readahead sys_x64_readahead
+188 common setxattr sys_x64_setxattr
+189 common lsetxattr sys_x64_lsetxattr
+190 common fsetxattr sys_x64_fsetxattr
+191 common getxattr sys_x64_getxattr
+192 common lgetxattr sys_x64_lgetxattr
+193 common fgetxattr sys_x64_fgetxattr
+194 common listxattr sys_x64_listxattr
+195 common llistxattr sys_x64_llistxattr
+196 common flistxattr sys_x64_flistxattr
+197 common removexattr sys_x64_removexattr
+198 common lremovexattr sys_x64_lremovexattr
+199 common fremovexattr sys_x64_fremovexattr
+200 common tkill sys_x64_tkill
+201 common time sys_x64_time
+202 common futex sys_x64_futex
+203 common sched_setaffinity sys_x64_sched_setaffinity
+204 common sched_getaffinity sys_x64_sched_getaffinity
205 64 set_thread_area
-206 64 io_setup sys_io_setup
-207 common io_destroy sys_io_destroy
-208 common io_getevents sys_io_getevents
-209 64 io_submit sys_io_submit
-210 common io_cancel sys_io_cancel
+206 64 io_setup sys_x64_io_setup
+207 common io_destroy sys_x64_io_destroy
+208 common io_getevents sys_x64_io_getevents
+209 64 io_submit sys_x64_io_submit
+210 common io_cancel sys_x64_io_cancel
211 64 get_thread_area
-212 common lookup_dcookie sys_lookup_dcookie
-213 common epoll_create sys_epoll_create
+212 common lookup_dcookie sys_x64_lookup_dcookie
+213 common epoll_create sys_x64_epoll_create
214 64 epoll_ctl_old
215 64 epoll_wait_old
-216 common remap_file_pages sys_remap_file_pages
-217 common getdents64 sys_getdents64
-218 common set_tid_address sys_set_tid_address
-219 common restart_syscall sys_restart_syscall
-220 common semtimedop sys_semtimedop
-221 common fadvise64 sys_fadvise64
-222 64 timer_create sys_timer_create
-223 common timer_settime sys_timer_settime
-224 common timer_gettime sys_timer_gettime
-225 common timer_getoverrun sys_timer_getoverrun
-226 common timer_delete sys_timer_delete
-227 common clock_settime sys_clock_settime
-228 common clock_gettime sys_clock_gettime
-229 common clock_getres sys_clock_getres
-230 common clock_nanosleep sys_clock_nanosleep
-231 common exit_group sys_exit_group
-232 common epoll_wait sys_epoll_wait
-233 common epoll_ctl sys_epoll_ctl
-234 common tgkill sys_tgkill
-235 common utimes sys_utimes
+216 common remap_file_pages sys_x64_remap_file_pages
+217 common getdents64 sys_x64_getdents64
+218 common set_tid_address sys_x64_set_tid_address
+219 common restart_syscall sys_x64_restart_syscall
+220 common semtimedop sys_x64_semtimedop
+221 common fadvise64 sys_x64_fadvise64
+222 64 timer_create sys_x64_timer_create
+223 common timer_settime sys_x64_timer_settime
+224 common timer_gettime sys_x64_timer_gettime
+225 common timer_getoverrun sys_x64_timer_getoverrun
+226 common timer_delete sys_x64_timer_delete
+227 common clock_settime sys_x64_clock_settime
+228 common clock_gettime sys_x64_clock_gettime
+229 common clock_getres sys_x64_clock_getres
+230 common clock_nanosleep sys_x64_clock_nanosleep
+231 common exit_group sys_x64_exit_group
+232 common epoll_wait sys_x64_epoll_wait
+233 common epoll_ctl sys_x64_epoll_ctl
+234 common tgkill sys_x64_tgkill
+235 common utimes sys_x64_utimes
236 64 vserver
-237 common mbind sys_mbind
-238 common set_mempolicy sys_set_mempolicy
-239 common get_mempolicy sys_get_mempolicy
-240 common mq_open sys_mq_open
-241 common mq_unlink sys_mq_unlink
-242 common mq_timedsend sys_mq_timedsend
-243 common mq_timedreceive sys_mq_timedreceive
-244 64 mq_notify sys_mq_notify
-245 common mq_getsetattr sys_mq_getsetattr
-246 64 kexec_load sys_kexec_load
-247 64 waitid sys_waitid
-248 common add_key sys_add_key
-249 common request_key sys_request_key
-250 common keyctl sys_keyctl
-251 common ioprio_set sys_ioprio_set
-252 common ioprio_get sys_ioprio_get
-253 common inotify_init sys_inotify_init
-254 common inotify_add_watch sys_inotify_add_watch
-255 common inotify_rm_watch sys_inotify_rm_watch
-256 common migrate_pages sys_migrate_pages
-257 common openat sys_openat
-258 common mkdirat sys_mkdirat
-259 common mknodat sys_mknodat
-260 common fchownat sys_fchownat
-261 common futimesat sys_futimesat
-262 common newfstatat sys_newfstatat
-263 common unlinkat sys_unlinkat
-264 common renameat sys_renameat
-265 common linkat sys_linkat
-266 common symlinkat sys_symlinkat
-267 common readlinkat sys_readlinkat
-268 common fchmodat sys_fchmodat
-269 common faccessat sys_faccessat
-270 common pselect6 sys_pselect6
-271 common ppoll sys_ppoll
-272 common unshare sys_unshare
-273 64 set_robust_list sys_set_robust_list
-274 64 get_robust_list sys_get_robust_list
-275 common splice sys_splice
-276 common tee sys_tee
-277 common sync_file_range sys_sync_file_range
-278 64 vmsplice sys_vmsplice
-279 64 move_pages sys_move_pages
-280 common utimensat sys_utimensat
-281 common epoll_pwait sys_epoll_pwait
-282 common signalfd sys_signalfd
-283 common timerfd_create sys_timerfd_create
-284 common eventfd sys_eventfd
-285 common fallocate sys_fallocate
-286 common timerfd_settime sys_timerfd_settime
-287 common timerfd_gettime sys_timerfd_gettime
-288 common accept4 sys_accept4
-289 common signalfd4 sys_signalfd4
-290 common eventfd2 sys_eventfd2
-291 common epoll_create1 sys_epoll_create1
-292 common dup3 sys_dup3
-293 common pipe2 sys_pipe2
-294 common inotify_init1 sys_inotify_init1
-295 64 preadv sys_preadv
-296 64 pwritev sys_pwritev
-297 64 rt_tgsigqueueinfo sys_rt_tgsigqueueinfo
-298 common perf_event_open sys_perf_event_open
-299 64 recvmmsg sys_recvmmsg
-300 common fanotify_init sys_fanotify_init
-301 common fanotify_mark sys_fanotify_mark
-302 common prlimit64 sys_prlimit64
-303 common name_to_handle_at sys_name_to_handle_at
-304 common open_by_handle_at sys_open_by_handle_at
-305 common clock_adjtime sys_clock_adjtime
-306 common syncfs sys_syncfs
-307 64 sendmmsg sys_sendmmsg
-308 common setns sys_setns
-309 common getcpu sys_getcpu
-310 64 process_vm_readv sys_process_vm_readv
-311 64 process_vm_writev sys_process_vm_writev
-312 common kcmp sys_kcmp
-313 common finit_module sys_finit_module
-314 common sched_setattr sys_sched_setattr
-315 common sched_getattr sys_sched_getattr
-316 common renameat2 sys_renameat2
-317 common seccomp sys_seccomp
-318 common getrandom sys_getrandom
-319 common memfd_create sys_memfd_create
-320 common kexec_file_load sys_kexec_file_load
-321 common bpf sys_bpf
-322 64 execveat sys_execveat/ptregs
-323 common userfaultfd sys_userfaultfd
-324 common membarrier sys_membarrier
-325 common mlock2 sys_mlock2
-326 common copy_file_range sys_copy_file_range
-327 64 preadv2 sys_preadv2
-328 64 pwritev2 sys_pwritev2
-329 common pkey_mprotect sys_pkey_mprotect
-330 common pkey_alloc sys_pkey_alloc
-331 common pkey_free sys_pkey_free
-332 common statx sys_statx
+237 common mbind sys_x64_mbind
+238 common set_mempolicy sys_x64_set_mempolicy
+239 common get_mempolicy sys_x64_get_mempolicy
+240 common mq_open sys_x64_mq_open
+241 common mq_unlink sys_x64_mq_unlink
+242 common mq_timedsend sys_x64_mq_timedsend
+243 common mq_timedreceive sys_x64_mq_timedreceive
+244 64 mq_notify sys_x64_mq_notify
+245 common mq_getsetattr sys_x64_mq_getsetattr
+246 64 kexec_load sys_x64_kexec_load
+247 64 waitid sys_x64_waitid
+248 common add_key sys_x64_add_key
+249 common request_key sys_x64_request_key
+250 common keyctl sys_x64_keyctl
+251 common ioprio_set sys_x64_ioprio_set
+252 common ioprio_get sys_x64_ioprio_get
+253 common inotify_init sys_x64_inotify_init
+254 common inotify_add_watch sys_x64_inotify_add_watch
+255 common inotify_rm_watch sys_x64_inotify_rm_watch
+256 common migrate_pages sys_x64_migrate_pages
+257 common openat sys_x64_openat
+258 common mkdirat sys_x64_mkdirat
+259 common mknodat sys_x64_mknodat
+260 common fchownat sys_x64_fchownat
+261 common futimesat sys_x64_futimesat
+262 common newfstatat sys_x64_newfstatat
+263 common unlinkat sys_x64_unlinkat
+264 common renameat sys_x64_renameat
+265 common linkat sys_x64_linkat
+266 common symlinkat sys_x64_symlinkat
+267 common readlinkat sys_x64_readlinkat
+268 common fchmodat sys_x64_fchmodat
+269 common faccessat sys_x64_faccessat
+270 common pselect6 sys_x64_pselect6
+271 common ppoll sys_x64_ppoll
+272 common unshare sys_x64_unshare
+273 64 set_robust_list sys_x64_set_robust_list
+274 64 get_robust_list sys_x64_get_robust_list
+275 common splice sys_x64_splice
+276 common tee sys_x64_tee
+277 common sync_file_range sys_x64_sync_file_range
+278 64 vmsplice sys_x64_vmsplice
+279 64 move_pages sys_x64_move_pages
+280 common utimensat sys_x64_utimensat
+281 common epoll_pwait sys_x64_epoll_pwait
+282 common signalfd sys_x64_signalfd
+283 common timerfd_create sys_x64_timerfd_create
+284 common eventfd sys_x64_eventfd
+285 common fallocate sys_x64_fallocate
+286 common timerfd_settime sys_x64_timerfd_settime
+287 common timerfd_gettime sys_x64_timerfd_gettime
+288 common accept4 sys_x64_accept4
+289 common signalfd4 sys_x64_signalfd4
+290 common eventfd2 sys_x64_eventfd2
+291 common epoll_create1 sys_x64_epoll_create1
+292 common dup3 sys_x64_dup3
+293 common pipe2 sys_x64_pipe2
+294 common inotify_init1 sys_x64_inotify_init1
+295 64 preadv sys_x64_preadv
+296 64 pwritev sys_x64_pwritev
+297 64 rt_tgsigqueueinfo sys_x64_rt_tgsigqueueinfo
+298 common perf_event_open sys_x64_perf_event_open
+299 64 recvmmsg sys_x64_recvmmsg
+300 common fanotify_init sys_x64_fanotify_init
+301 common fanotify_mark sys_x64_fanotify_mark
+302 common prlimit64 sys_x64_prlimit64
+303 common name_to_handle_at sys_x64_name_to_handle_at
+304 common open_by_handle_at sys_x64_open_by_handle_at
+305 common clock_adjtime sys_x64_clock_adjtime
+306 common syncfs sys_x64_syncfs
+307 64 sendmmsg sys_x64_sendmmsg
+308 common setns sys_x64_setns
+309 common getcpu sys_x64_getcpu
+310 64 process_vm_readv sys_x64_process_vm_readv
+311 64 process_vm_writev sys_x64_process_vm_writev
+312 common kcmp sys_x64_kcmp
+313 common finit_module sys_x64_finit_module
+314 common sched_setattr sys_x64_sched_setattr
+315 common sched_getattr sys_x64_sched_getattr
+316 common renameat2 sys_x64_renameat2
+317 common seccomp sys_x64_seccomp
+318 common getrandom sys_x64_getrandom
+319 common memfd_create sys_x64_memfd_create
+320 common kexec_file_load sys_x64_kexec_file_load
+321 common bpf sys_x64_bpf
+322 64 execveat sys_x64_execveat/ptregs
+323 common userfaultfd sys_x64_userfaultfd
+324 common membarrier sys_x64_membarrier
+325 common mlock2 sys_x64_mlock2
+326 common copy_file_range sys_x64_copy_file_range
+327 64 preadv2 sys_x64_preadv2
+328 64 pwritev2 sys_x64_pwritev2
+329 common pkey_mprotect sys_x64_pkey_mprotect
+330 common pkey_alloc sys_x64_pkey_alloc
+331 common pkey_free sys_x64_pkey_free
+332 common statx sys_x64_statx
#
# x32-specific system call numbers start at 512 to avoid cache impact
# for native 64-bit operation.
#
-512 x32 rt_sigaction compat_sys_rt_sigaction
+512 x32 rt_sigaction compat_sys_i86_rt_sigaction
513 x32 rt_sigreturn sys32_x32_rt_sigreturn
-514 x32 ioctl compat_sys_ioctl
-515 x32 readv compat_sys_readv
-516 x32 writev compat_sys_writev
-517 x32 recvfrom compat_sys_recvfrom
-518 x32 sendmsg compat_sys_sendmsg
-519 x32 recvmsg compat_sys_recvmsg
-520 x32 execve compat_sys_execve/ptregs
-521 x32 ptrace compat_sys_ptrace
-522 x32 rt_sigpending compat_sys_rt_sigpending
-523 x32 rt_sigtimedwait compat_sys_rt_sigtimedwait
-524 x32 rt_sigqueueinfo compat_sys_rt_sigqueueinfo
-525 x32 sigaltstack compat_sys_sigaltstack
-526 x32 timer_create compat_sys_timer_create
-527 x32 mq_notify compat_sys_mq_notify
-528 x32 kexec_load compat_sys_kexec_load
-529 x32 waitid compat_sys_waitid
-530 x32 set_robust_list compat_sys_set_robust_list
-531 x32 get_robust_list compat_sys_get_robust_list
-532 x32 vmsplice compat_sys_vmsplice
-533 x32 move_pages compat_sys_move_pages
-534 x32 preadv compat_sys_preadv64
-535 x32 pwritev compat_sys_pwritev64
-536 x32 rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo
-537 x32 recvmmsg compat_sys_recvmmsg
-538 x32 sendmmsg compat_sys_sendmmsg
-539 x32 process_vm_readv compat_sys_process_vm_readv
-540 x32 process_vm_writev compat_sys_process_vm_writev
-541 x32 setsockopt compat_sys_setsockopt
-542 x32 getsockopt compat_sys_getsockopt
-543 x32 io_setup compat_sys_io_setup
-544 x32 io_submit compat_sys_io_submit
-545 x32 execveat compat_sys_execveat/ptregs
-546 x32 preadv2 compat_sys_preadv64v2
-547 x32 pwritev2 compat_sys_pwritev64v2
+514 x32 ioctl compat_sys_i86_ioctl
+515 x32 readv compat_sys_i86_readv
+516 x32 writev compat_sys_i86_writev
+517 x32 recvfrom compat_sys_i86_recvfrom
+518 x32 sendmsg compat_sys_i86_sendmsg
+519 x32 recvmsg compat_sys_i86_recvmsg
+520 x32 execve compat_sys_i86_execve/ptregs
+521 x32 ptrace compat_sys_i86_ptrace
+522 x32 rt_sigpending compat_sys_i86_rt_sigpending
+523 x32 rt_sigtimedwait compat_sys_i86_rt_sigtimedwait
+524 x32 rt_sigqueueinfo compat_sys_i86_rt_sigqueueinfo
+525 x32 sigaltstack compat_sys_i86_sigaltstack
+526 x32 timer_create compat_sys_i86_timer_create
+527 x32 mq_notify compat_sys_i86_mq_notify
+528 x32 kexec_load compat_sys_i86_kexec_load
+529 x32 waitid compat_sys_i86_waitid
+530 x32 set_robust_list compat_sys_i86_set_robust_list
+531 x32 get_robust_list compat_sys_i86_get_robust_list
+532 x32 vmsplice compat_sys_i86_vmsplice
+533 x32 move_pages compat_sys_i86_move_pages
+534 x32 preadv compat_sys_i86_preadv64
+535 x32 pwritev compat_sys_i86_pwritev64
+536 x32 rt_tgsigqueueinfo compat_sys_i86_rt_tgsigqueueinfo
+537 x32 recvmmsg compat_sys_i86_recvmmsg
+538 x32 sendmmsg compat_sys_i86_sendmmsg
+539 x32 process_vm_readv compat_sys_i86_process_vm_readv
+540 x32 process_vm_writev compat_sys_i86_process_vm_writev
+541 x32 setsockopt compat_sys_i86_setsockopt
+542 x32 getsockopt compat_sys_i86_getsockopt
+543 x32 io_setup compat_sys_i86_io_setup
+544 x32 io_submit compat_sys_i86_io_submit
+545 x32 execveat compat_sys_i86_execveat/ptregs
+546 x32 preadv2 compat_sys_i86_preadv64v2
+547 x32 pwritev2 compat_sys_i86_pwritev64v2
diff --git a/arch/x86/include/asm/syscall.h b/arch/x86/include/asm/syscall.h
index 03eedc21246d..ea575722691e 100644
--- a/arch/x86/include/asm/syscall.h
+++ b/arch/x86/include/asm/syscall.h
@@ -20,9 +20,7 @@
#include <asm/thread_info.h> /* for TS_COMPAT */
#include <asm/unistd.h>
-typedef asmlinkage long (*sys_call_ptr_t)(unsigned long, unsigned long,
- unsigned long, unsigned long,
- unsigned long, unsigned long);
+typedef asmlinkage long (*sys_call_ptr_t)(struct pt_regs *);
extern const sys_call_ptr_t sys_call_table[];
#if defined(CONFIG_X86_32)
diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
index 2f723301eb58..38deafebb21b 100644
--- a/arch/x86/kernel/ioport.c
+++ b/arch/x86/kernel/ioport.c
@@ -23,7 +23,7 @@
/*
* this changes the io permissions bitmap in the current task.
*/
-asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
+SYSCALL_DEFINE3(ioperm, unsigned long, from, unsigned long, num, int, turn_on)
{
struct thread_struct *t = &current->thread;
struct tss_struct *tss;
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c
index 4cdc0b27ec82..411898dbcbf0 100644
--- a/arch/x86/kernel/signal.c
+++ b/arch/x86/kernel/signal.c
@@ -25,6 +25,7 @@
#include <linux/user-return-notifier.h>
#include <linux/uprobes.h>
#include <linux/context_tracking.h>
+#include <linux/syscalls.h>
#include <asm/processor.h>
#include <asm/ucontext.h>
@@ -601,7 +602,7 @@ static int x32_setup_rt_frame(struct ksignal *ksig,
* Do a signal return; undo the signal stack.
*/
#ifdef CONFIG_X86_32
-asmlinkage unsigned long sys_sigreturn(void)
+SYSCALL_DEFINE0(sys_sigreturn)
{
struct pt_regs *regs = current_pt_regs();
struct sigframe __user *frame;
@@ -633,7 +634,7 @@ badframe:
}
#endif /* CONFIG_X86_32 */
-asmlinkage long sys_rt_sigreturn(void)
+SYSCALL_DEFINE0(rt_sigreturn)
{
struct pt_regs *regs = current_pt_regs();
struct rt_sigframe __user *frame;
diff --git a/fs/open.c b/fs/open.c
index 7ea118471dce..16f0508eb973 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -350,7 +350,7 @@ SYSCALL_DEFINE4(fallocate, int, fd, int, mode, loff_t, offset, loff_t, len)
* We do this by temporarily clearing all FS-related capabilities and
* switching the fsuid/fsgid around to the real ones.
*/
-SYSCALL_DEFINE3(faccessat, int, dfd, const char __user *, filename, int, mode)
+static long vfs_faccessat(int dfd, const char __user *filename, int mode)
{
const struct cred *old_cred;
struct cred *override_cred;
@@ -426,9 +426,14 @@ out:
return res;
}
+SYSCALL_DEFINE3(faccessat, int, dfd, const char __user *, filename, int, mode)
+{
+ return vfs_faccessat(dfd, filename, mode);
+}
+
SYSCALL_DEFINE2(access, const char __user *, filename, int, mode)
{
- return sys_faccessat(AT_FDCWD, filename, mode);
+ return vfs_faccessat(AT_FDCWD, filename, mode);
}
SYSCALL_DEFINE1(chdir, const char __user *, filename)
@@ -554,7 +559,7 @@ SYSCALL_DEFINE2(fchmod, unsigned int, fd, umode_t, mode)
return err;
}
-SYSCALL_DEFINE3(fchmodat, int, dfd, const char __user *, filename, umode_t, mode)
+static long vfs_fchmodat(int dfd, const char __user *filename, umode_t mode)
{
struct path path;
int error;
@@ -572,9 +577,14 @@ retry:
return error;
}
+SYSCALL_DEFINE3(fchmodat, int, dfd, const char __user *, filename, umode_t, mode)
+{
+ return vfs_fchmodat(dfd, filename, mode);
+}
+
SYSCALL_DEFINE2(chmod, const char __user *, filename, umode_t, mode)
{
- return sys_fchmodat(AT_FDCWD, filename, mode);
+ return vfs_fchmodat(AT_FDCWD, filename, mode);
}
static int chown_common(const struct path *path, uid_t user, gid_t group)
@@ -619,8 +629,7 @@ retry_deleg:
return error;
}
-SYSCALL_DEFINE5(fchownat, int, dfd, const char __user *, filename, uid_t, user,
- gid_t, group, int, flag)
+static long vfs_fchownat(int dfd, const char __user * filename, uid_t user, gid_t group, int flag)
{
struct path path;
int error = -EINVAL;
@@ -651,15 +660,20 @@ out:
return error;
}
+SYSCALL_DEFINE5(fchownat, int, dfd, const char __user *, filename, uid_t, user,
+ gid_t, group, int, flag)
+{
+ return vfs_fchownat(dfd, filename, user, group, flag);
+}
+
SYSCALL_DEFINE3(chown, const char __user *, filename, uid_t, user, gid_t, group)
{
- return sys_fchownat(AT_FDCWD, filename, user, group, 0);
+ return vfs_fchownat(AT_FDCWD, filename, user, group, 0);
}
SYSCALL_DEFINE3(lchown, const char __user *, filename, uid_t, user, gid_t, group)
{
- return sys_fchownat(AT_FDCWD, filename, user, group,
- AT_SYMLINK_NOFOLLOW);
+ return vfs_fchownat(AT_FDCWD, filename, user, group, AT_SYMLINK_NOFOLLOW);
}
SYSCALL_DEFINE3(fchown, unsigned int, fd, uid_t, user, gid_t, group)
@@ -1114,7 +1128,12 @@ COMPAT_SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, fla
*/
SYSCALL_DEFINE2(creat, const char __user *, pathname, umode_t, mode)
{
- return sys_open(pathname, O_CREAT | O_WRONLY | O_TRUNC, mode);
+ int flags = O_CREAT | O_WRONLY | O_TRUNC;
+
+ if (force_o_largefile())
+ flags |= O_LARGEFILE;
+
+ return do_sys_open(AT_FDCWD, pathname, flags, mode);
}
#endif
@@ -1150,7 +1169,7 @@ EXPORT_SYMBOL(filp_close);
* releasing the fd. This ensures that one clone task can't release
* an fd while another clone is opening it.
*/
-SYSCALL_DEFINE1(close, unsigned int, fd)
+long vfs_close(unsigned int fd)
{
int retval = __close_fd(current->files, fd);
@@ -1163,7 +1182,13 @@ SYSCALL_DEFINE1(close, unsigned int, fd)
return retval;
}
-EXPORT_SYMBOL(sys_close);
+EXPORT_SYMBOL(vfs_close);
+
+SYSCALL_DEFINE1(close, unsigned int, fd)
+{
+ return vfs_close(fd);
+}
+
/*
* This routine simulates a hangup on the tty, to arrange that users
diff --git a/include/linux/compat.h b/include/linux/compat.h
index 8a9643857c4a..48a321ae3d19 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
@@ -32,7 +32,7 @@
#endif
#define COMPAT_SYSCALL_DEFINE0(name) \
- asmlinkage long compat_sys_##name(void)
+ asmlinkage long compat_sys_i86_##sname(void)
#define COMPAT_SYSCALL_DEFINE1(name, ...) \
COMPAT_SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)
@@ -56,6 +56,16 @@
{ \
return C_SYSC##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \
} \
+ asmlinkage long compat_sys_i86##name(struct pt_regs *regs) \
+ { \
+ return compat_SyS##name(__MAP(x,__SC_ARGS \
+ ,,(unsigned int)regs->bx \
+ ,,(unsigned int)regs->cx \
+ ,,(unsigned int)regs->dx \
+ ,,(unsigned int)regs->si \
+ ,,(unsigned int)regs->di \
+ ,,(unsigned int)regs->bp)); \
+ } \
static inline long C_SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__))
#ifndef compat_user_stack_pointer
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index a78186d826d7..0659adfc363d 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -91,7 +91,7 @@ union bpf_attr;
* for SYSCALL_DEFINE<n>/COMPAT_SYSCALL_DEFINE<n>
*/
#define __MAP0(m,...)
-#define __MAP1(m,t,a) m(t,a)
+#define __MAP1(m,t,a,...) m(t,a)
#define __MAP2(m,t,a,...) m(t,a), __MAP1(m,__VA_ARGS__)
#define __MAP3(m,t,a,...) m(t,a), __MAP2(m,__VA_ARGS__)
#define __MAP4(m,t,a,...) m(t,a), __MAP3(m,__VA_ARGS__)
@@ -189,8 +189,12 @@ static inline int is_syscall_trace_event(struct trace_event_call *tp_event)
}
#endif
-#define SYSCALL_DEFINE0(sname) \
- SYSCALL_METADATA(_##sname, 0); \
+#define SYSCALL_DEFINE0(sname) \
+ SYSCALL_METADATA(_##sname, 0); \
+ asmlinkage long sys_i86_##sname(void) \
+ __attribute__((alias(__stringify(sys_##sname)))); \
+ asmlinkage long sys_x64_##sname(void) \
+ __attribute__((alias(__stringify(sys_##sname)))); \
asmlinkage long sys_##sname(void)
#define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)
@@ -211,7 +215,6 @@ static inline int is_syscall_trace_event(struct trace_event_call *tp_event)
asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
__attribute__((alias(__stringify(SyS##name)))); \
static inline long SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \
- asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \
asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
{ \
long ret = SYSC##name(__MAP(x,__SC_CAST,__VA_ARGS__)); \
@@ -219,6 +222,22 @@ static inline int is_syscall_trace_event(struct trace_event_call *tp_event)
__PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \
return ret; \
} \
+ asmlinkage long sys_x64##name(struct pt_regs *regs) \
+ { \
+ return SyS##name(__MAP(x,__SC_ARGS \
+ ,,regs->di,,regs->si,,regs->dx \
+ ,,regs->r10,,regs->r8,,regs->r9)); \
+ } \
+ asmlinkage long sys_i86##name(struct pt_regs *regs) \
+ { \
+ return SyS##name(__MAP(x,__SC_ARGS \
+ ,,(unsigned int)regs->bx \
+ ,,(unsigned int)regs->cx \
+ ,,(unsigned int)regs->dx \
+ ,,(unsigned int)regs->si \
+ ,,(unsigned int)regs->di \
+ ,,(unsigned int)regs->bp)); \
+ } \
static inline long SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__))
/*
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index e7c535eee0a6..67805f87ce5c 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4885,14 +4885,14 @@ SYSCALL_DEFINE3(sched_getaffinity, pid_t, pid, unsigned int, len,
}
/**
- * sys_sched_yield - yield the current processor to other threads.
+ * sched_yield - yield the current processor to other threads.
*
* This function yields the current CPU to other tasks. If there are no
* other threads running on this CPU then this function will return.
*
* Return: 0.
*/
-SYSCALL_DEFINE0(sched_yield)
+static long sched_yield(void)
{
struct rq_flags rf;
struct rq *rq;
@@ -4917,6 +4917,11 @@ SYSCALL_DEFINE0(sched_yield)
return 0;
}
+SYSCALL_DEFINE0(sched_yield)
+{
+ return sched_yield();
+}
+
#ifndef CONFIG_PREEMPT
int __sched _cond_resched(void)
{
@@ -4997,7 +5002,7 @@ EXPORT_SYMBOL(__cond_resched_softirq);
void __sched yield(void)
{
set_current_state(TASK_RUNNING);
- sys_sched_yield();
+ sched_yield();
}
EXPORT_SYMBOL(yield);
diff --git a/kernel/signal.c b/kernel/signal.c
index c6e4c83dc090..7b7906b7ce75 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -3573,9 +3573,8 @@ int __save_altstack(stack_t __user *uss, unsigned long sp)
}
#ifdef CONFIG_COMPAT
-COMPAT_SYSCALL_DEFINE2(sigaltstack,
- const compat_stack_t __user *, uss_ptr,
- compat_stack_t __user *, uoss_ptr)
+static long do_compat_sigaltstack(const compat_stack_t __user *uss_ptr,
+ compat_stack_t __user *uoss_ptr)
{
stack_t uss, uoss;
int ret;
@@ -3602,9 +3601,16 @@ COMPAT_SYSCALL_DEFINE2(sigaltstack,
return ret;
}
+COMPAT_SYSCALL_DEFINE2(sigaltstack,
+ const compat_stack_t __user *, uss_ptr,
+ compat_stack_t __user *, uoss_ptr)
+{
+ return do_compat_sigaltstack(uss_ptr, uoss_ptr);
+}
+
int compat_restore_altstack(const compat_stack_t __user *uss)
{
- int err = compat_sys_sigaltstack(uss, NULL);
+ int err = do_compat_sigaltstack(uss, NULL);
/* squash all but -EFAULT for now */
return err == -EFAULT ? err : 0;
}
diff --git a/kernel/sys_ni.c b/kernel/sys_ni.c
index b5189762d275..bef378c25a19 100644
--- a/kernel/sys_ni.c
+++ b/kernel/sys_ni.c
@@ -17,6 +17,10 @@ asmlinkage long sys_ni_syscall(void)
return -ENOSYS;
}
+cond_syscall(sys_x64_kcmp);
+cond_syscall(sys_i86_uselib);
+cond_syscall(sys_i86_kcmp);
+
cond_syscall(sys_quotactl);
cond_syscall(sys32_quotactl);
cond_syscall(sys_acct);