aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/process/adding-syscalls.rst4
-rw-r--r--arch/x86/entry/syscalls/syscall_32.tbl252
-rw-r--r--arch/x86/entry/syscalls/syscall_64.tbl72
-rw-r--r--arch/x86/include/asm/syscall_wrapper.h44
-rw-r--r--arch/x86/include/asm/syscalls.h2
-rw-r--r--include/linux/compat.h29
-rwxr-xr-xscripts/bloat-o-meter2
7 files changed, 205 insertions, 200 deletions
diff --git a/Documentation/process/adding-syscalls.rst b/Documentation/process/adding-syscalls.rst
index 314c8bf6f2a2..0d4f29bc798b 100644
--- a/Documentation/process/adding-syscalls.rst
+++ b/Documentation/process/adding-syscalls.rst
@@ -360,7 +360,7 @@ First, the entry in ``arch/x86/entry/syscalls/syscall_32.tbl`` gets an extra
360column to indicate that a 32-bit userspace program running on a 64-bit kernel 360column to indicate that a 32-bit userspace program running on a 64-bit kernel
361should hit the compat entry point:: 361should hit the compat entry point::
362 362
363 380 i386 xyzzy sys_xyzzy compat_sys_xyzzy 363 380 i386 xyzzy sys_xyzzy __ia32_compat_sys_xyzzy
364 364
365Second, you need to figure out what should happen for the x32 ABI version of 365Second, you need to figure out what should happen for the x32 ABI version of
366the new system call. There's a choice here: the layout of the arguments 366the new system call. There's a choice here: the layout of the arguments
@@ -373,7 +373,7 @@ the compatibility wrapper::
373 373
374 333 64 xyzzy sys_xyzzy 374 333 64 xyzzy sys_xyzzy
375 ... 375 ...
376 555 x32 xyzzy compat_sys_xyzzy 376 555 x32 xyzzy __x32_compat_sys_xyzzy
377 377
378If no pointers are involved, then it is preferable to re-use the 64-bit system 378If no pointers are involved, then it is preferable to re-use the 64-bit system
379call for the x32 ABI (and consequently the entry in 379call for the x32 ABI (and consequently the entry in
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index 539df8f6d0e1..0e6cb1335db2 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -4,7 +4,7 @@
4# The format is: 4# The format is:
5# <number> <abi> <name> <entry point> <compat entry point> 5# <number> <abi> <name> <entry point> <compat entry point>
6# 6#
7# The __ia32_sys and __compat_sys_ia32 stubs are created on-the-fly for 7# The __ia32_sys and __ia32_compat_sys stubs are created on-the-fly for
8# sys_*() system calls and compat_sys_*() compat system calls if 8# sys_*() system calls and compat_sys_*() compat system calls if
9# IA32_EMULATION is defined, and expect struct pt_regs *regs as their only 9# IA32_EMULATION is defined, and expect struct pt_regs *regs as their only
10# parameter. 10# parameter.
@@ -16,32 +16,32 @@
162 i386 fork sys_fork 162 i386 fork sys_fork
173 i386 read sys_read __ia32_sys_read 173 i386 read sys_read __ia32_sys_read
184 i386 write sys_write __ia32_sys_write 184 i386 write sys_write __ia32_sys_write
195 i386 open sys_open __compat_sys_ia32_open 195 i386 open sys_open __ia32_compat_sys_open
206 i386 close sys_close __ia32_sys_close 206 i386 close sys_close __ia32_sys_close
217 i386 waitpid sys_waitpid __ia32_sys_waitpid 217 i386 waitpid sys_waitpid __ia32_sys_waitpid
228 i386 creat sys_creat __ia32_sys_creat 228 i386 creat sys_creat __ia32_sys_creat
239 i386 link sys_link __ia32_sys_link 239 i386 link sys_link __ia32_sys_link
2410 i386 unlink sys_unlink __ia32_sys_unlink 2410 i386 unlink sys_unlink __ia32_sys_unlink
2511 i386 execve sys_execve __compat_sys_ia32_execve 2511 i386 execve sys_execve __ia32_compat_sys_execve
2612 i386 chdir sys_chdir __ia32_sys_chdir 2612 i386 chdir sys_chdir __ia32_sys_chdir
2713 i386 time sys_time __compat_sys_ia32_time 2713 i386 time sys_time __ia32_compat_sys_time
2814 i386 mknod sys_mknod __ia32_sys_mknod 2814 i386 mknod sys_mknod __ia32_sys_mknod
2915 i386 chmod sys_chmod __ia32_sys_chmod 2915 i386 chmod sys_chmod __ia32_sys_chmod
3016 i386 lchown sys_lchown16 __ia32_sys_lchown16 3016 i386 lchown sys_lchown16 __ia32_sys_lchown16
3117 i386 break 3117 i386 break
3218 i386 oldstat sys_stat __ia32_sys_stat 3218 i386 oldstat sys_stat __ia32_sys_stat
3319 i386 lseek sys_lseek __compat_sys_ia32_lseek 3319 i386 lseek sys_lseek __ia32_compat_sys_lseek
3420 i386 getpid sys_getpid 3420 i386 getpid sys_getpid
3521 i386 mount sys_mount __compat_sys_ia32_mount 3521 i386 mount sys_mount __ia32_compat_sys_mount
3622 i386 umount sys_oldumount __ia32_sys_oldumount 3622 i386 umount sys_oldumount __ia32_sys_oldumount
3723 i386 setuid sys_setuid16 __ia32_sys_setuid16 3723 i386 setuid sys_setuid16 __ia32_sys_setuid16
3824 i386 getuid sys_getuid16 3824 i386 getuid sys_getuid16
3925 i386 stime sys_stime __compat_sys_ia32_stime 3925 i386 stime sys_stime __ia32_compat_sys_stime
4026 i386 ptrace sys_ptrace __compat_sys_ia32_ptrace 4026 i386 ptrace sys_ptrace __ia32_compat_sys_ptrace
4127 i386 alarm sys_alarm __ia32_sys_alarm 4127 i386 alarm sys_alarm __ia32_sys_alarm
4228 i386 oldfstat sys_fstat __ia32_sys_fstat 4228 i386 oldfstat sys_fstat __ia32_sys_fstat
4329 i386 pause sys_pause 4329 i386 pause sys_pause
4430 i386 utime sys_utime __compat_sys_ia32_utime 4430 i386 utime sys_utime __ia32_compat_sys_utime
4531 i386 stty 4531 i386 stty
4632 i386 gtty 4632 i386 gtty
4733 i386 access sys_access __ia32_sys_access 4733 i386 access sys_access __ia32_sys_access
@@ -54,7 +54,7 @@
5440 i386 rmdir sys_rmdir __ia32_sys_rmdir 5440 i386 rmdir sys_rmdir __ia32_sys_rmdir
5541 i386 dup sys_dup __ia32_sys_dup 5541 i386 dup sys_dup __ia32_sys_dup
5642 i386 pipe sys_pipe __ia32_sys_pipe 5642 i386 pipe sys_pipe __ia32_sys_pipe
5743 i386 times sys_times __compat_sys_ia32_times 5743 i386 times sys_times __ia32_compat_sys_times
5844 i386 prof 5844 i386 prof
5945 i386 brk sys_brk __ia32_sys_brk 5945 i386 brk sys_brk __ia32_sys_brk
6046 i386 setgid sys_setgid16 __ia32_sys_setgid16 6046 i386 setgid sys_setgid16 __ia32_sys_setgid16
@@ -65,84 +65,84 @@
6551 i386 acct sys_acct __ia32_sys_acct 6551 i386 acct sys_acct __ia32_sys_acct
6652 i386 umount2 sys_umount __ia32_sys_umount 6652 i386 umount2 sys_umount __ia32_sys_umount
6753 i386 lock 6753 i386 lock
6854 i386 ioctl sys_ioctl __compat_sys_ia32_ioctl 6854 i386 ioctl sys_ioctl __ia32_compat_sys_ioctl
6955 i386 fcntl sys_fcntl __compat_sys_ia32_fcntl64 6955 i386 fcntl sys_fcntl __ia32_compat_sys_fcntl64
7056 i386 mpx 7056 i386 mpx
7157 i386 setpgid sys_setpgid __ia32_sys_setpgid 7157 i386 setpgid sys_setpgid __ia32_sys_setpgid
7258 i386 ulimit 7258 i386 ulimit
7359 i386 oldolduname sys_olduname __ia32_sys_olduname 7359 i386 oldolduname sys_olduname __ia32_sys_olduname
7460 i386 umask sys_umask __ia32_sys_umask 7460 i386 umask sys_umask __ia32_sys_umask
7561 i386 chroot sys_chroot __ia32_sys_chroot 7561 i386 chroot sys_chroot __ia32_sys_chroot
7662 i386 ustat sys_ustat __compat_sys_ia32_ustat 7662 i386 ustat sys_ustat __ia32_compat_sys_ustat
7763 i386 dup2 sys_dup2 __ia32_sys_dup2 7763 i386 dup2 sys_dup2 __ia32_sys_dup2
7864 i386 getppid sys_getppid 7864 i386 getppid sys_getppid
7965 i386 getpgrp sys_getpgrp 7965 i386 getpgrp sys_getpgrp
8066 i386 setsid sys_setsid 8066 i386 setsid sys_setsid
8167 i386 sigaction sys_sigaction __compat_sys_ia32_sigaction 8167 i386 sigaction sys_sigaction __ia32_compat_sys_sigaction
8268 i386 sgetmask sys_sgetmask 8268 i386 sgetmask sys_sgetmask
8369 i386 ssetmask sys_ssetmask __ia32_sys_ssetmask 8369 i386 ssetmask sys_ssetmask __ia32_sys_ssetmask
8470 i386 setreuid sys_setreuid16 __ia32_sys_setreuid16 8470 i386 setreuid sys_setreuid16 __ia32_sys_setreuid16
8571 i386 setregid sys_setregid16 __ia32_sys_setregid16 8571 i386 setregid sys_setregid16 __ia32_sys_setregid16
8672 i386 sigsuspend sys_sigsuspend __ia32_sys_sigsuspend 8672 i386 sigsuspend sys_sigsuspend __ia32_sys_sigsuspend
8773 i386 sigpending sys_sigpending __compat_sys_ia32_sigpending 8773 i386 sigpending sys_sigpending __ia32_compat_sys_sigpending
8874 i386 sethostname sys_sethostname __ia32_sys_sethostname 8874 i386 sethostname sys_sethostname __ia32_sys_sethostname
8975 i386 setrlimit sys_setrlimit __compat_sys_ia32_setrlimit 8975 i386 setrlimit sys_setrlimit __ia32_compat_sys_setrlimit
9076 i386 getrlimit sys_old_getrlimit __compat_sys_ia32_old_getrlimit 9076 i386 getrlimit sys_old_getrlimit __ia32_compat_sys_old_getrlimit
9177 i386 getrusage sys_getrusage __compat_sys_ia32_getrusage 9177 i386 getrusage sys_getrusage __ia32_compat_sys_getrusage
9278 i386 gettimeofday sys_gettimeofday __compat_sys_ia32_gettimeofday 9278 i386 gettimeofday sys_gettimeofday __ia32_compat_sys_gettimeofday
9379 i386 settimeofday sys_settimeofday __compat_sys_ia32_settimeofday 9379 i386 settimeofday sys_settimeofday __ia32_compat_sys_settimeofday
9480 i386 getgroups sys_getgroups16 __ia32_sys_getgroups16 9480 i386 getgroups sys_getgroups16 __ia32_sys_getgroups16
9581 i386 setgroups sys_setgroups16 __ia32_sys_setgroups16 9581 i386 setgroups sys_setgroups16 __ia32_sys_setgroups16
9682 i386 select sys_old_select __compat_sys_ia32_old_select 9682 i386 select sys_old_select __ia32_compat_sys_old_select
9783 i386 symlink sys_symlink __ia32_sys_symlink 9783 i386 symlink sys_symlink __ia32_sys_symlink
9884 i386 oldlstat sys_lstat __ia32_sys_lstat 9884 i386 oldlstat sys_lstat __ia32_sys_lstat
9985 i386 readlink sys_readlink __ia32_sys_readlink 9985 i386 readlink sys_readlink __ia32_sys_readlink
10086 i386 uselib sys_uselib __ia32_sys_uselib 10086 i386 uselib sys_uselib __ia32_sys_uselib
10187 i386 swapon sys_swapon __ia32_sys_swapon 10187 i386 swapon sys_swapon __ia32_sys_swapon
10288 i386 reboot sys_reboot __ia32_sys_reboot 10288 i386 reboot sys_reboot __ia32_sys_reboot
10389 i386 readdir sys_old_readdir __compat_sys_ia32_old_readdir 10389 i386 readdir sys_old_readdir __ia32_compat_sys_old_readdir
10490 i386 mmap sys_old_mmap __compat_sys_ia32_x86_mmap 10490 i386 mmap sys_old_mmap __ia32_compat_sys_x86_mmap
10591 i386 munmap sys_munmap __ia32_sys_munmap