lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180409105145.5364-2-linux@dominikbrodowski.net>
Date:   Mon,  9 Apr 2018 12:51:42 +0200
From:   Dominik Brodowski <linux@...inikbrodowski.net>
To:     linux-kernel@...r.kernel.org, mingo@...nel.org
Cc:     Dominik Brodowski <linux@...inikbrodowski.net>,
        Linus Torvalds <torvalds@...ux-foundation.org>,
        Al Viro <viro@...iv.linux.org.uk>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Andy Lutomirski <luto@...nel.org>,
        Borislav Petkov <bp@...en8.de>,
        Brian Gerst <brgerst@...il.com>,
        Denys Vlasenko <dvlasenk@...hat.com>,
        "H . Peter Anvin" <hpa@...or.com>,
        Josh Poimboeuf <jpoimboe@...hat.com>,
        Peter Zijlstra <peterz@...radead.org>,
        Thomas Gleixner <tglx@...utronix.de>
Subject: [PATCHv2 1/4] syscalls: clean up syscall stub naming convention

Tidy the naming convention for compat syscall subs. Hints which describe
the purpose of the stub go in front and receive a double underscore to
denote that they are generated on-the-fly by the SYSCALL_DEFINEx() macro.

For the generic case, this means (0xffffffff prefix removed):

810f08d0 t     kernel_waitid	# common C function (see kernel/exit.c)

<inline>     __do_sys_waitid	# inlined helper doing the actual work
				# (takes original parameters as declared)

810f1aa0 T   __se_sys_waitid	# sign-extending C function calling inlined
				# helper (takes parameters of type long;
				# casts them to the declared type)

810f1aa0 T        sys_waitid	# alias to __se_sys_waitid() (taking
				# parameters as declared), to be included
				# in syscall table

For x86, the naming is as follows:

810efc70 t     kernel_waitid	# common C function (see kernel/exit.c)

<inline>     __do_sys_waitid	# inlined helper doing the actual work
				# (takes original parameters as declared)

810efd60 t   __se_sys_waitid	# sign-extending C function calling inlined
				# helper (takes parameters of type long;
				# casts them to the declared type)

810f1140 T __ia32_sys_waitid	# IA32_EMULATION 32-bit-ptregs -> C stub,
				# calls __se_sys_waitid(); to be included
				# in syscall table

810f1110 T        sys_waitid	# x86 64-bit-ptregs -> C stub, calls
				# __se_sys_waitid(); to be included in
				# syscall table

For x86, sys_waitid() will be re-named to __x64_sys_waitid in a follow-up
patch.

Suggested-by: Ingo Molnar <mingo@...nel.org>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Al Viro <viro@...iv.linux.org.uk>
Cc: Andrew Morton <akpm@...ux-foundation.org>
Cc: Andy Lutomirski <luto@...nel.org>
Cc: Borislav Petkov <bp@...en8.de>
Cc: Brian Gerst <brgerst@...il.com>
Cc: Denys Vlasenko <dvlasenk@...hat.com>
Cc: H. Peter Anvin <hpa@...or.com>
Cc: Josh Poimboeuf <jpoimboe@...hat.com>
Cc: Peter Zijlstra <peterz@...radead.org>
Cc: Thomas Gleixner <tglx@...utronix.de>
Signed-off-by: Dominik Brodowski <linux@...inikbrodowski.net>
---
 arch/x86/entry/syscalls/syscall_32.tbl | 424 ++++++++++++-------------
 arch/x86/include/asm/syscall_wrapper.h |  35 +-
 include/linux/syscalls.h               |  17 +-
 scripts/bloat-o-meter                  |   2 +-
 4 files changed, 242 insertions(+), 236 deletions(-)

diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index 7f09a3da0b3d..539df8f6d0e1 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -4,7 +4,7 @@
 # The format is:
 # <number> <abi> <name> <entry point> <compat entry point>
 #
-# The __sys_ia32 and __compat_sys_ia32 stubs are created on-the-fly for
+# The __ia32_sys and __compat_sys_ia32 stubs are created on-the-fly for
 # sys_*() system calls and compat_sys_*() compat system calls if
 # IA32_EMULATION is defined, and expect struct pt_regs *regs as their only
 # parameter.
@@ -12,284 +12,284 @@
 # The abi is always "i386" for this file.
 #
 0	i386	restart_syscall		sys_restart_syscall
-1	i386	exit			sys_exit			__sys_ia32_exit
+1	i386	exit			sys_exit			__ia32_sys_exit
 2	i386	fork			sys_fork
-3	i386	read			sys_read			__sys_ia32_read
-4	i386	write			sys_write			__sys_ia32_write
+3	i386	read			sys_read			__ia32_sys_read
+4	i386	write			sys_write			__ia32_sys_write
 5	i386	open			sys_open			__compat_sys_ia32_open
-6	i386	close			sys_close			__sys_ia32_close
-7	i386	waitpid			sys_waitpid			__sys_ia32_waitpid
-8	i386	creat			sys_creat			__sys_ia32_creat
-9	i386	link			sys_link			__sys_ia32_link
-10	i386	unlink			sys_unlink			__sys_ia32_unlink
+6	i386	close			sys_close			__ia32_sys_close
+7	i386	waitpid			sys_waitpid			__ia32_sys_waitpid
+8	i386	creat			sys_creat			__ia32_sys_creat
+9	i386	link			sys_link			__ia32_sys_link
+10	i386	unlink			sys_unlink			__ia32_sys_unlink
 11	i386	execve			sys_execve			__compat_sys_ia32_execve
-12	i386	chdir			sys_chdir			__sys_ia32_chdir
+12	i386	chdir			sys_chdir			__ia32_sys_chdir
 13	i386	time			sys_time			__compat_sys_ia32_time
-14	i386	mknod			sys_mknod			__sys_ia32_mknod
-15	i386	chmod			sys_chmod			__sys_ia32_chmod
-16	i386	lchown			sys_lchown16			__sys_ia32_lchown16
+14	i386	mknod			sys_mknod			__ia32_sys_mknod
+15	i386	chmod			sys_chmod			__ia32_sys_chmod
+16	i386	lchown			sys_lchown16			__ia32_sys_lchown16
 17	i386	break
-18	i386	oldstat			sys_stat			__sys_ia32_stat
+18	i386	oldstat			sys_stat			__ia32_sys_stat
 19	i386	lseek			sys_lseek			__compat_sys_ia32_lseek
 20	i386	getpid			sys_getpid
 21	i386	mount			sys_mount			__compat_sys_ia32_mount
-22	i386	umount			sys_oldumount			__sys_ia32_oldumount
-23	i386	setuid			sys_setuid16			__sys_ia32_setuid16
+22	i386	umount			sys_oldumount			__ia32_sys_oldumount
+23	i386	setuid			sys_setuid16			__ia32_sys_setuid16
 24	i386	getuid			sys_getuid16
 25	i386	stime			sys_stime			__compat_sys_ia32_stime
 26	i386	ptrace			sys_ptrace			__compat_sys_ia32_ptrace
-27	i386	alarm			sys_alarm			__sys_ia32_alarm
-28	i386	oldfstat		sys_fstat			__sys_ia32_fstat
+27	i386	alarm			sys_alarm			__ia32_sys_alarm
+28	i386	oldfstat		sys_fstat			__ia32_sys_fstat
 29	i386	pause			sys_pause
 30	i386	utime			sys_utime			__compat_sys_ia32_utime
 31	i386	stty
 32	i386	gtty
-33	i386	access			sys_access			__sys_ia32_access
-34	i386	nice			sys_nice			__sys_ia32_nice
+33	i386	access			sys_access			__ia32_sys_access
+34	i386	nice			sys_nice			__ia32_sys_nice
 35	i386	ftime
 36	i386	sync			sys_sync
-37	i386	kill			sys_kill			__sys_ia32_kill
-38	i386	rename			sys_rename			__sys_ia32_rename
-39	i386	mkdir			sys_mkdir			__sys_ia32_mkdir
-40	i386	rmdir			sys_rmdir			__sys_ia32_rmdir
-41	i386	dup			sys_dup				__sys_ia32_dup
-42	i386	pipe			sys_pipe			__sys_ia32_pipe
+37	i386	kill			sys_kill			__ia32_sys_kill
+38	i386	rename			sys_rename			__ia32_sys_rename
+39	i386	mkdir			sys_mkdir			__ia32_sys_mkdir
+40	i386	rmdir			sys_rmdir			__ia32_sys_rmdir
+41	i386	dup			sys_dup				__ia32_sys_dup
+42	i386	pipe			sys_pipe			__ia32_sys_pipe
 43	i386	times			sys_times			__compat_sys_ia32_times
 44	i386	prof
-45	i386	brk			sys_brk				__sys_ia32_brk
-46	i386	setgid			sys_setgid16			__sys_ia32_setgid16
+45	i386	brk			sys_brk				__ia32_sys_brk
+46	i386	setgid			sys_setgid16			__ia32_sys_setgid16
 47	i386	getgid			sys_getgid16
-48	i386	signal			sys_signal			__sys_ia32_signal
+48	i386	signal			sys_signal			__ia32_sys_signal
 49	i386	geteuid			sys_geteuid16
 50	i386	getegid			sys_getegid16
-51	i386	acct			sys_acct			__sys_ia32_acct
-52	i386	umount2			sys_umount			__sys_ia32_umount
+51	i386	acct			sys_acct			__ia32_sys_acct
+52	i386	umount2			sys_umount			__ia32_sys_umount
 53	i386	lock
 54	i386	ioctl			sys_ioctl			__compat_sys_ia32_ioctl
 55	i386	fcntl			sys_fcntl			__compat_sys_ia32_fcntl64
 56	i386	mpx
-57	i386	setpgid			sys_setpgid			__sys_ia32_setpgid
+57	i386	setpgid			sys_setpgid			__ia32_sys_setpgid
 58	i386	ulimit
-59	i386	oldolduname		sys_olduname			__sys_ia32_olduname
-60	i386	umask			sys_umask			__sys_ia32_umask
-61	i386	chroot			sys_chroot			__sys_ia32_chroot
+59	i386	oldolduname		sys_olduname			__ia32_sys_olduname
+60	i386	umask			sys_umask			__ia32_sys_umask
+61	i386	chroot			sys_chroot			__ia32_sys_chroot
 62	i386	ustat			sys_ustat			__compat_sys_ia32_ustat
-63	i386	dup2			sys_dup2			__sys_ia32_dup2
+63	i386	dup2			sys_dup2			__ia32_sys_dup2
 64	i386	getppid			sys_getppid
 65	i386	getpgrp			sys_getpgrp
 66	i386	setsid			sys_setsid
 67	i386	sigaction		sys_sigaction			__compat_sys_ia32_sigaction
 68	i386	sgetmask		sys_sgetmask
-69	i386	ssetmask		sys_ssetmask			__sys_ia32_ssetmask
-70	i386	setreuid		sys_setreuid16			__sys_ia32_setreuid16
-71	i386	setregid		sys_setregid16			__sys_ia32_setregid16
-72	i386	sigsuspend		sys_sigsuspend			__sys_ia32_sigsuspend
+69	i386	ssetmask		sys_ssetmask			__ia32_sys_ssetmask
+70	i386	setreuid		sys_setreuid16			__ia32_sys_setreuid16
+71	i386	setregid		sys_setregid16			__ia32_sys_setregid16
+72	i386	sigsuspend		sys_sigsuspend			__ia32_sys_sigsuspend
 73	i386	sigpending		sys_sigpending			__compat_sys_ia32_sigpending
-74	i386	sethostname		sys_sethostname			__sys_ia32_sethostname
+74	i386	sethostname		sys_sethostname			__ia32_sys_sethostname
 75	i386	setrlimit		sys_setrlimit			__compat_sys_ia32_setrlimit
 76	i386	getrlimit		sys_old_getrlimit		__compat_sys_ia32_old_getrlimit
 77	i386	getrusage		sys_getrusage			__compat_sys_ia32_getrusage
 78	i386	gettimeofday		sys_gettimeofday		__compat_sys_ia32_gettimeofday
 79	i386	settimeofday		sys_settimeofday		__compat_sys_ia32_settimeofday
-80	i386	getgroups		sys_getgroups16			__sys_ia32_getgroups16
-81	i386	setgroups		sys_setgroups16			__sys_ia32_setgroups16
+80	i386	getgroups		sys_getgroups16			__ia32_sys_getgroups16
+81	i386	setgroups		sys_setgroups16			__ia32_sys_setgroups16
 82	i386	select			sys_old_select			__compat_sys_ia32_old_select
-83	i386	symlink			sys_symlink			__sys_ia32_symlink
-84	i386	oldlstat		sys_lstat			__sys_ia32_lstat
-85	i386	readlink		sys_readlink			__sys_ia32_readlink
-86	i386	uselib			sys_uselib			__sys_ia32_uselib
-87	i386	swapon			sys_swapon			__sys_ia32_swapon
-88	i386	reboot			sys_reboot			__sys_ia32_reboot
+83	i386	symlink			sys_symlink			__ia32_sys_symlink
+84	i386	oldlstat		sys_lstat			__ia32_sys_lstat
+85	i386	readlink		sys_readlink			__ia32_sys_readlink
+86	i386	uselib			sys_uselib			__ia32_sys_uselib
+87	i386	swapon			sys_swapon			__ia32_sys_swapon
+88	i386	reboot			sys_reboot			__ia32_sys_reboot
 89	i386	readdir			sys_old_readdir			__compat_sys_ia32_old_readdir
 90	i386	mmap			sys_old_mmap			__compat_sys_ia32_x86_mmap
-91	i386	munmap			sys_munmap			__sys_ia32_munmap
+91	i386	munmap			sys_munmap			__ia32_sys_munmap
 92	i386	truncate		sys_truncate			__compat_sys_ia32_truncate
 93	i386	ftruncate		sys_ftruncate			__compat_sys_ia32_ftruncate
-94	i386	fchmod			sys_fchmod			__sys_ia32_fchmod
-95	i386	fchown			sys_fchown16			__sys_ia32_fchown16
-96	i386	getpriority		sys_getpriority			__sys_ia32_getpriority
-97	i386	setpriority		sys_setpriority			__sys_ia32_setpriority
+94	i386	fchmod			sys_fchmod			__ia32_sys_fchmod
+95	i386	fchown			sys_fchown16			__ia32_sys_fchown16
+96	i386	getpriority		sys_getpriority			__ia32_sys_getpriority
+97	i386	setpriority		sys_setpriority			__ia32_sys_setpriority
 98	i386	profil
 99	i386	statfs			sys_statfs			__compat_sys_ia32_statfs
 100	i386	fstatfs			sys_fstatfs			__compat_sys_ia32_fstatfs
-101	i386	ioperm			sys_ioperm			__sys_ia32_ioperm
+101	i386	ioperm			sys_ioperm			__ia32_sys_ioperm
 102	i386	socketcall		sys_socketcall			__compat_sys_ia32_socketcall
-103	i386	syslog			sys_syslog			__sys_ia32_syslog
+103	i386	syslog			sys_syslog			__ia32_sys_syslog
 104	i386	setitimer		sys_setitimer			__compat_sys_ia32_setitimer
 105	i386	getitimer		sys_getitimer			__compat_sys_ia32_getitimer
 106	i386	stat			sys_newstat			__compat_sys_ia32_newstat
 107	i386	lstat			sys_newlstat			__compat_sys_ia32_newlstat
 108	i386	fstat			sys_newfstat			__compat_sys_ia32_newfstat
-109	i386	olduname		sys_uname			__sys_ia32_uname
-110	i386	iopl			sys_iopl			__sys_ia32_iopl
+109	i386	olduname		sys_uname			__ia32_sys_uname
+110	i386	iopl			sys_iopl			__ia32_sys_iopl
 111	i386	vhangup			sys_vhangup
 112	i386	idle
 113	i386	vm86old			sys_vm86old			sys_ni_syscall
 114	i386	wait4			sys_wait4			__compat_sys_ia32_wait4
-115	i386	swapoff			sys_swapoff			__sys_ia32_swapoff
+115	i386	swapoff			sys_swapoff			__ia32_sys_swapoff
 116	i386	sysinfo			sys_sysinfo			__compat_sys_ia32_sysinfo
 117	i386	ipc			sys_ipc				__compat_sys_ia32_ipc
-118	i386	fsync			sys_fsync			__sys_ia32_fsync
+118	i386	fsync			sys_fsync			__ia32_sys_fsync
 119	i386	sigreturn		sys_sigreturn			sys32_sigreturn
 120	i386	clone			sys_clone			__compat_sys_ia32_x86_clone
-121	i386	setdomainname		sys_setdomainname		__sys_ia32_setdomainname
-122	i386	uname			sys_newuname			__sys_ia32_newuname
-123	i386	modify_ldt		sys_modify_ldt			__sys_ia32_modify_ldt
+121	i386	setdomainname		sys_setdomainname		__ia32_sys_setdomainname
+122	i386	uname			sys_newuname			__ia32_sys_newuname
+123	i386	modify_ldt		sys_modify_ldt			__ia32_sys_modify_ldt
 124	i386	adjtimex		sys_adjtimex			__compat_sys_ia32_adjtimex
-125	i386	mprotect		sys_mprotect			__sys_ia32_mprotect
+125	i386	mprotect		sys_mprotect			__ia32_sys_mprotect
 126	i386	sigprocmask		sys_sigprocmask			__compat_sys_ia32_sigprocmask
 127	i386	create_module
-128	i386	init_module		sys_init_module			__sys_ia32_init_module
-129	i386	delete_module		sys_delete_module		__sys_ia32_delete_module
+128	i386	init_module		sys_init_module			__ia32_sys_init_module
+129	i386	delete_module		sys_delete_module		__ia32_sys_delete_module
 130	i386	get_kernel_syms
 131	i386	quotactl		sys_quotactl			__compat_sys_ia32_quotactl32
-132	i386	getpgid			sys_getpgid			__sys_ia32_getpgid
-133	i386	fchdir			sys_fchdir			__sys_ia32_fchdir
-134	i386	bdflush			sys_bdflush			__sys_ia32_bdflush
-135	i386	sysfs			sys_sysfs			__sys_ia32_sysfs
-136	i386	personality		sys_personality			__sys_ia32_personality
+132	i386	getpgid			sys_getpgid			__ia32_sys_getpgid
+133	i386	fchdir			sys_fchdir			__ia32_sys_fchdir
+134	i386	bdflush			sys_bdflush			__ia32_sys_bdflush
+135	i386	sysfs			sys_sysfs			__ia32_sys_sysfs
+136	i386	personality		sys_personality			__ia32_sys_personality
 137	i386	afs_syscall
-138	i386	setfsuid		sys_setfsuid16			__sys_ia32_setfsuid16
-139	i386	setfsgid		sys_setfsgid16			__sys_ia32_setfsgid16
-140	i386	_llseek			sys_llseek			__sys_ia32_llseek
+138	i386	setfsuid		sys_setfsuid16			__ia32_sys_setfsuid16
+139	i386	setfsgid		sys_setfsgid16			__ia32_sys_setfsgid16
+140	i386	_llseek			sys_llseek			__ia32_sys_llseek
 141	i386	getdents		sys_getdents			__compat_sys_ia32_getdents
 142	i386	_newselect		sys_select			__compat_sys_ia32_select
-143	i386	flock			sys_flock			__sys_ia32_flock
-144	i386	msync			sys_msync			__sys_ia32_msync
+143	i386	flock			sys_flock			__ia32_sys_flock
+144	i386	msync			sys_msync			__ia32_sys_msync
 145	i386	readv			sys_readv			__compat_sys_ia32_readv
 146	i386	writev			sys_writev			__compat_sys_ia32_writev
-147	i386	getsid			sys_getsid			__sys_ia32_getsid
-148	i386	fdatasync		sys_fdatasync			__sys_ia32_fdatasync
+147	i386	getsid			sys_getsid			__ia32_sys_getsid
+148	i386	fdatasync		sys_fdatasync			__ia32_sys_fdatasync
 149	i386	_sysctl			sys_sysctl			__compat_sys_ia32_sysctl
-150	i386	mlock			sys_mlock			__sys_ia32_mlock
-151	i386	munlock			sys_munlock			__sys_ia32_munlock
-152	i386	mlockall		sys_mlockall			__sys_ia32_mlockall
+150	i386	mlock			sys_mlock			__ia32_sys_mlock
+151	i386	munlock			sys_munlock			__ia32_sys_munlock
+152	i386	mlockall		sys_mlockall			__ia32_sys_mlockall
 153	i386	munlockall		sys_munlockall
-154	i386	sched_setparam		sys_sched_setparam		__sys_ia32_sched_setparam
-155	i386	sched_getparam		sys_sched_getparam		__sys_ia32_sched_getparam
-156	i386	sched_setscheduler	sys_sched_setscheduler		__sys_ia32_sched_setscheduler
-157	i386	sched_getscheduler	sys_sched_getscheduler		__sys_ia32_sched_getscheduler
+154	i386	sched_setparam		sys_sched_setparam		__ia32_sys_sched_setparam
+155	i386	sched_getparam		sys_sched_getparam		__ia32_sys_sched_getparam
+156	i386	sched_setscheduler	sys_sched_setscheduler		__ia32_sys_sched_setscheduler
+157	i386	sched_getscheduler	sys_sched_getscheduler		__ia32_sys_sched_getscheduler
 158	i386	sched_yield		sys_sched_yield
-159	i386	sched_get_priority_max	sys_sched_get_priority_max	__sys_ia32_sched_get_priority_max
-160	i386	sched_get_priority_min	sys_sched_get_priority_min	__sys_ia32_sched_get_priority_min
+159	i386	sched_get_priority_max	sys_sched_get_priority_max	__ia32_sys_sched_get_priority_max
+160	i386	sched_get_priority_min	sys_sched_get_priority_min	__ia32_sys_sched_get_priority_min
 161	i386	sched_rr_get_interval	sys_sched_rr_get_interval	__compat_sys_ia32_sched_rr_get_interval
 162	i386	nanosleep		sys_nanosleep			__compat_sys_ia32_nanosleep
-163	i386	mremap			sys_mremap			__sys_ia32_mremap
-164	i386	setresuid		sys_setresuid16			__sys_ia32_setresuid16
-165	i386	getresuid		sys_getresuid16			__sys_ia32_getresuid16
+163	i386	mremap			sys_mremap			__ia32_sys_mremap
+164	i386	setresuid		sys_setresuid16			__ia32_sys_setresuid16
+165	i386	getresuid		sys_getresuid16			__ia32_sys_getresuid16
 166	i386	vm86			sys_vm86			sys_ni_syscall
 167	i386	query_module
-168	i386	poll			sys_poll			__sys_ia32_poll
+168	i386	poll			sys_poll			__ia32_sys_poll
 169	i386	nfsservctl
-170	i386	setresgid		sys_setresgid16			__sys_ia32_setresgid16
-171	i386	getresgid		sys_getresgid16			__sys_ia32_getresgid16
-172	i386	prctl			sys_prctl			__sys_ia32_prctl
+170	i386	setresgid		sys_setresgid16			__ia32_sys_setresgid16
+171	i386	getresgid		sys_getresgid16			__ia32_sys_getresgid16
+172	i386	prctl			sys_prctl			__ia32_sys_prctl
 173	i386	rt_sigreturn		sys_rt_sigreturn		sys32_rt_sigreturn
 174	i386	rt_sigaction		sys_rt_sigaction		__compat_sys_ia32_rt_sigaction
-175	i386	rt_sigprocmask		sys_rt_sigprocmask		__sys_ia32_rt_sigprocmask
+175	i386	rt_sigprocmask		sys_rt_sigprocmask		__ia32_sys_rt_sigprocmask
 176	i386	rt_sigpending		sys_rt_sigpending		__compat_sys_ia32_rt_sigpending
 177	i386	rt_sigtimedwait		sys_rt_sigtimedwait		__compat_sys_ia32_rt_sigtimedwait
 178	i386	rt_sigqueueinfo		sys_rt_sigqueueinfo		__compat_sys_ia32_rt_sigqueueinfo
-179	i386	rt_sigsuspend		sys_rt_sigsuspend		__sys_ia32_rt_sigsuspend
+179	i386	rt_sigsuspend		sys_rt_sigsuspend		__ia32_sys_rt_sigsuspend
 180	i386	pread64			sys_pread64			__compat_sys_ia32_x86_pread
 181	i386	pwrite64		sys_pwrite64			__compat_sys_ia32_x86_pwrite
-182	i386	chown			sys_chown16			__sys_ia32_chown16
-183	i386	getcwd			sys_getcwd			__sys_ia32_getcwd
-184	i386	capget			sys_capget			__sys_ia32_capget
-185	i386	capset			sys_capset			__sys_ia32_capset
+182	i386	chown			sys_chown16			__ia32_sys_chown16
+183	i386	getcwd			sys_getcwd			__ia32_sys_getcwd
+184	i386	capget			sys_capget			__ia32_sys_capget
+185	i386	capset			sys_capset			__ia32_sys_capset
 186	i386	sigaltstack		sys_sigaltstack			__compat_sys_ia32_sigaltstack
 187	i386	sendfile		sys_sendfile			__compat_sys_ia32_sendfile
 188	i386	getpmsg
 189	i386	putpmsg
 190	i386	vfork			sys_vfork
 191	i386	ugetrlimit		sys_getrlimit			__compat_sys_ia32_getrlimit
-192	i386	mmap2			sys_mmap_pgoff			__sys_ia32_mmap_pgoff
+192	i386	mmap2			sys_mmap_pgoff			__ia32_sys_mmap_pgoff
 193	i386	truncate64		sys_truncate64			__compat_sys_ia32_x86_truncate64
 194	i386	ftruncate64		sys_ftruncate64			__compat_sys_ia32_x86_ftruncate64
 195	i386	stat64			sys_stat64			__compat_sys_ia32_x86_stat64
 196	i386	lstat64			sys_lstat64			__compat_sys_ia32_x86_lstat64
 197	i386	fstat64			sys_fstat64			__compat_sys_ia32_x86_fstat64
-198	i386	lchown32		sys_lchown			__sys_ia32_lchown
+198	i386	lchown32		sys_lchown			__ia32_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			__sys_ia32_setreuid
-204	i386	setregid32		sys_setregid			__sys_ia32_setregid
-205	i386	getgroups32		sys_getgroups			__sys_ia32_getgroups
-206	i386	setgroups32		sys_setgroups			__sys_ia32_setgroups
-207	i386	fchown32		sys_fchown			__sys_ia32_fchown
-208	i386	setresuid32		sys_setresuid			__sys_ia32_setresuid
-209	i386	getresuid32		sys_getresuid			__sys_ia32_getresuid
-210	i386	setresgid32		sys_setresgid			__sys_ia32_setresgid
-211	i386	getresgid32		sys_getresgid			__sys_ia32_getresgid
-212	i386	chown32			sys_chown			__sys_ia32_chown
-213	i386	setuid32		sys_setuid			__sys_ia32_setuid
-214	i386	setgid32		sys_setgid			__sys_ia32_setgid
-215	i386	setfsuid32		sys_setfsuid			__sys_ia32_setfsuid
-216	i386	setfsgid32		sys_setfsgid			__sys_ia32_setfsgid
-217	i386	pivot_root		sys_pivot_root			__sys_ia32_pivot_root
-218	i386	mincore			sys_mincore			__sys_ia32_mincore
-219	i386	madvise			sys_madvise			__sys_ia32_madvise
-220	i386	getdents64		sys_getdents64			__sys_ia32_getdents64
+203	i386	setreuid32		sys_setreuid			__ia32_sys_setreuid
+204	i386	setregid32		sys_setregid			__ia32_sys_setregid
+205	i386	getgroups32		sys_getgroups			__ia32_sys_getgroups
+206	i386	setgroups32		sys_setgroups			__ia32_sys_setgroups
+207	i386	fchown32		sys_fchown			__ia32_sys_fchown
+208	i386	setresuid32		sys_setresuid			__ia32_sys_setresuid
+209	i386	getresuid32		sys_getresuid			__ia32_sys_getresuid
+210	i386	setresgid32		sys_setresgid			__ia32_sys_setresgid
+211	i386	getresgid32		sys_getresgid			__ia32_sys_getresgid
+212	i386	chown32			sys_chown			__ia32_sys_chown
+213	i386	setuid32		sys_setuid			__ia32_sys_setuid
+214	i386	setgid32		sys_setgid			__ia32_sys_setgid
+215	i386	setfsuid32		sys_setfsuid			__ia32_sys_setfsuid
+216	i386	setfsgid32		sys_setfsgid			__ia32_sys_setfsgid
+217	i386	pivot_root		sys_pivot_root			__ia32_sys_pivot_root
+218	i386	mincore			sys_mincore			__ia32_sys_mincore
+219	i386	madvise			sys_madvise			__ia32_sys_madvise
+220	i386	getdents64		sys_getdents64			__ia32_sys_getdents64
 221	i386	fcntl64			sys_fcntl64			__compat_sys_ia32_fcntl64
 # 222 is unused
 # 223 is unused
 224	i386	gettid			sys_gettid
 225	i386	readahead		sys_readahead			__compat_sys_ia32_x86_readahead
-226	i386	setxattr		sys_setxattr			__sys_ia32_setxattr
-227	i386	lsetxattr		sys_lsetxattr			__sys_ia32_lsetxattr
-228	i386	fsetxattr		sys_fsetxattr			__sys_ia32_fsetxattr
-229	i386	getxattr		sys_getxattr			__sys_ia32_getxattr
-230	i386	lgetxattr		sys_lgetxattr			__sys_ia32_lgetxattr
-231	i386	fgetxattr		sys_fgetxattr			__sys_ia32_fgetxattr
-232	i386	listxattr		sys_listxattr			__sys_ia32_listxattr
-233	i386	llistxattr		sys_llistxattr			__sys_ia32_llistxattr
-234	i386	flistxattr		sys_flistxattr			__sys_ia32_flistxattr
-235	i386	removexattr		sys_removexattr			__sys_ia32_removexattr
-236	i386	lremovexattr		sys_lremovexattr		__sys_ia32_lremovexattr
-237	i386	fremovexattr		sys_fremovexattr		__sys_ia32_fremovexattr
-238	i386	tkill			sys_tkill			__sys_ia32_tkill
-239	i386	sendfile64		sys_sendfile64			__sys_ia32_sendfile64
+226	i386	setxattr		sys_setxattr			__ia32_sys_setxattr
+227	i386	lsetxattr		sys_lsetxattr			__ia32_sys_lsetxattr
+228	i386	fsetxattr		sys_fsetxattr			__ia32_sys_fsetxattr
+229	i386	getxattr		sys_getxattr			__ia32_sys_getxattr
+230	i386	lgetxattr		sys_lgetxattr			__ia32_sys_lgetxattr
+231	i386	fgetxattr		sys_fgetxattr			__ia32_sys_fgetxattr
+232	i386	listxattr		sys_listxattr			__ia32_sys_listxattr
+233	i386	llistxattr		sys_llistxattr			__ia32_sys_llistxattr
+234	i386	flistxattr		sys_flistxattr			__ia32_sys_flistxattr
+235	i386	removexattr		sys_removexattr			__ia32_sys_removexattr
+236	i386	lremovexattr		sys_lremovexattr		__ia32_sys_lremovexattr
+237	i386	fremovexattr		sys_fremovexattr		__ia32_sys_fremovexattr
+238	i386	tkill			sys_tkill			__ia32_sys_tkill
+239	i386	sendfile64		sys_sendfile64			__ia32_sys_sendfile64
 240	i386	futex			sys_futex			__compat_sys_ia32_futex
 241	i386	sched_setaffinity	sys_sched_setaffinity		__compat_sys_ia32_sched_setaffinity
 242	i386	sched_getaffinity	sys_sched_getaffinity		__compat_sys_ia32_sched_getaffinity
-243	i386	set_thread_area		sys_set_thread_area		__sys_ia32_set_thread_area
-244	i386	get_thread_area		sys_get_thread_area		__sys_ia32_get_thread_area
+243	i386	set_thread_area		sys_set_thread_area		__ia32_sys_set_thread_area
+244	i386	get_thread_area		sys_get_thread_area		__ia32_sys_get_thread_area
 245	i386	io_setup		sys_io_setup			__compat_sys_ia32_io_setup
-246	i386	io_destroy		sys_io_destroy			__sys_ia32_io_destroy
+246	i386	io_destroy		sys_io_destroy			__ia32_sys_io_destroy
 247	i386	io_getevents		sys_io_getevents		__compat_sys_ia32_io_getevents
 248	i386	io_submit		sys_io_submit			__compat_sys_ia32_io_submit
-249	i386	io_cancel		sys_io_cancel			__sys_ia32_io_cancel
+249	i386	io_cancel		sys_io_cancel			__ia32_sys_io_cancel
 250	i386	fadvise64		sys_fadvise64			__compat_sys_ia32_x86_fadvise64
 # 251 is available for reuse (was briefly sys_set_zone_reclaim)
-252	i386	exit_group		sys_exit_group			__sys_ia32_exit_group
+252	i386	exit_group		sys_exit_group			__ia32_sys_exit_group
 253	i386	lookup_dcookie		sys_lookup_dcookie		__compat_sys_ia32_lookup_dcookie
-254	i386	epoll_create		sys_epoll_create		__sys_ia32_epoll_create
-255	i386	epoll_ctl		sys_epoll_ctl			__sys_ia32_epoll_ctl
-256	i386	epoll_wait		sys_epoll_wait			__sys_ia32_epoll_wait
-257	i386	remap_file_pages	sys_remap_file_pages		__sys_ia32_remap_file_pages
-258	i386	set_tid_address		sys_set_tid_address		__sys_ia32_set_tid_address
+254	i386	epoll_create		sys_epoll_create		__ia32_sys_epoll_create
+255	i386	epoll_ctl		sys_epoll_ctl			__ia32_sys_epoll_ctl
+256	i386	epoll_wait		sys_epoll_wait			__ia32_sys_epoll_wait
+257	i386	remap_file_pages	sys_remap_file_pages		__ia32_sys_remap_file_pages
+258	i386	set_tid_address		sys_set_tid_address		__ia32_sys_set_tid_address
 259	i386	timer_create		sys_timer_create		__compat_sys_ia32_timer_create
 260	i386	timer_settime		sys_timer_settime		__compat_sys_ia32_timer_settime
 261	i386	timer_gettime		sys_timer_gettime		__compat_sys_ia32_timer_gettime
-262	i386	timer_getoverrun	sys_timer_getoverrun		__sys_ia32_timer_getoverrun
-263	i386	timer_delete		sys_timer_delete		__sys_ia32_timer_delete
+262	i386	timer_getoverrun	sys_timer_getoverrun		__ia32_sys_timer_getoverrun
+263	i386	timer_delete		sys_timer_delete		__ia32_sys_timer_delete
 264	i386	clock_settime		sys_clock_settime		__compat_sys_ia32_clock_settime
 265	i386	clock_gettime		sys_clock_gettime		__compat_sys_ia32_clock_gettime
 266	i386	clock_getres		sys_clock_getres		__compat_sys_ia32_clock_getres
 267	i386	clock_nanosleep		sys_clock_nanosleep		__compat_sys_ia32_clock_nanosleep
 268	i386	statfs64		sys_statfs64			__compat_sys_ia32_statfs64
 269	i386	fstatfs64		sys_fstatfs64			__compat_sys_ia32_fstatfs64
-270	i386	tgkill			sys_tgkill			__sys_ia32_tgkill
+270	i386	tgkill			sys_tgkill			__ia32_sys_tgkill
 271	i386	utimes			sys_utimes			__compat_sys_ia32_utimes
 272	i386	fadvise64_64		sys_fadvise64_64		__compat_sys_ia32_x86_fadvise64_64
 273	i386	vserver
-274	i386	mbind			sys_mbind			__sys_ia32_mbind
+274	i386	mbind			sys_mbind			__ia32_sys_mbind
 275	i386	get_mempolicy		sys_get_mempolicy		__compat_sys_ia32_get_mempolicy
-276	i386	set_mempolicy		sys_set_mempolicy		__sys_ia32_set_mempolicy
+276	i386	set_mempolicy		sys_set_mempolicy		__ia32_sys_set_mempolicy
 277	i386	mq_open			sys_mq_open			__compat_sys_ia32_mq_open
-278	i386	mq_unlink		sys_mq_unlink			__sys_ia32_mq_unlink
+278	i386	mq_unlink		sys_mq_unlink			__ia32_sys_mq_unlink
 279	i386	mq_timedsend		sys_mq_timedsend		__compat_sys_ia32_mq_timedsend
 280	i386	mq_timedreceive		sys_mq_timedreceive		__compat_sys_ia32_mq_timedreceive
 281	i386	mq_notify		sys_mq_notify			__compat_sys_ia32_mq_notify
@@ -297,102 +297,102 @@
 283	i386	kexec_load		sys_kexec_load			__compat_sys_ia32_kexec_load
 284	i386	waitid			sys_waitid			__compat_sys_ia32_waitid
 # 285 sys_setaltroot
-286	i386	add_key			sys_add_key			__sys_ia32_add_key
-287	i386	request_key		sys_request_key			__sys_ia32_request_key
+286	i386	add_key			sys_add_key			__ia32_sys_add_key
+287	i386	request_key		sys_request_key			__ia32_sys_request_key
 288	i386	keyctl			sys_keyctl			__compat_sys_ia32_keyctl
-289	i386	ioprio_set		sys_ioprio_set			__sys_ia32_ioprio_set
-290	i386	ioprio_get		sys_ioprio_get			__sys_ia32_ioprio_get
+289	i386	ioprio_set		sys_ioprio_set			__ia32_sys_ioprio_set
+290	i386	ioprio_get		sys_ioprio_get			__ia32_sys_ioprio_get
 291	i386	inotify_init		sys_inotify_init
-292	i386	inotify_add_watch	sys_inotify_add_watch		__sys_ia32_inotify_add_watch
-293	i386	inotify_rm_watch	sys_inotify_rm_watch		__sys_ia32_inotify_rm_watch
-294	i386	migrate_pages		sys_migrate_pages		__sys_ia32_migrate_pages
+292	i386	inotify_add_watch	sys_inotify_add_watch		__ia32_sys_inotify_add_watch
+293	i386	inotify_rm_watch	sys_inotify_rm_watch		__ia32_sys_inotify_rm_watch
+294	i386	migrate_pages		sys_migrate_pages		__ia32_sys_migrate_pages
 295	i386	openat			sys_openat			__compat_sys_ia32_openat
-296	i386	mkdirat			sys_mkdirat			__sys_ia32_mkdirat
-297	i386	mknodat			sys_mknodat			__sys_ia32_mknodat
-298	i386	fchownat		sys_fchownat			__sys_ia32_fchownat
+296	i386	mkdirat			sys_mkdirat			__ia32_sys_mkdirat
+297	i386	mknodat			sys_mknodat			__ia32_sys_mknodat
+298	i386	fchownat		sys_fchownat			__ia32_sys_fchownat
 299	i386	futimesat		sys_futimesat			__compat_sys_ia32_futimesat
 300	i386	fstatat64		sys_fstatat64			__compat_sys_ia32_x86_fstatat
-301	i386	unlinkat		sys_unlinkat			__sys_ia32_unlinkat
-302	i386	renameat		sys_renameat			__sys_ia32_renameat
-303	i386	linkat			sys_linkat			__sys_ia32_linkat
-304	i386	symlinkat		sys_symlinkat			__sys_ia32_symlinkat
-305	i386	readlinkat		sys_readlinkat			__sys_ia32_readlinkat
-306	i386	fchmodat		sys_fchmodat			__sys_ia32_fchmodat
-307	i386	faccessat		sys_faccessat			__sys_ia32_faccessat
+301	i386	unlinkat		sys_unlinkat			__ia32_sys_unlinkat
+302	i386	renameat		sys_renameat			__ia32_sys_renameat
+303	i386	linkat			sys_linkat			__ia32_sys_linkat
+304	i386	symlinkat		sys_symlinkat			__ia32_sys_symlinkat
+305	i386	readlinkat		sys_readlinkat			__ia32_sys_readlinkat
+306	i386	fchmodat		sys_fchmodat			__ia32_sys_fchmodat
+307	i386	faccessat		sys_faccessat			__ia32_sys_faccessat
 308	i386	pselect6		sys_pselect6			__compat_sys_ia32_pselect6
 309	i386	ppoll			sys_ppoll			__compat_sys_ia32_ppoll
-310	i386	unshare			sys_unshare			__sys_ia32_unshare
+310	i386	unshare			sys_unshare			__ia32_sys_unshare
 311	i386	set_robust_list		sys_set_robust_list		__compat_sys_ia32_set_robust_list
 312	i386	get_robust_list		sys_get_robust_list		__compat_sys_ia32_get_robust_list
-313	i386	splice			sys_splice			__sys_ia32_splice
+313	i386	splice			sys_splice			__ia32_sys_splice
 314	i386	sync_file_range		sys_sync_file_range		__compat_sys_ia32_x86_sync_file_range
-315	i386	tee			sys_tee				__sys_ia32_tee
+315	i386	tee			sys_tee				__ia32_sys_tee
 316	i386	vmsplice		sys_vmsplice			__compat_sys_ia32_vmsplice
 317	i386	move_pages		sys_move_pages			__compat_sys_ia32_move_pages
-318	i386	getcpu			sys_getcpu			__sys_ia32_getcpu
-319	i386	epoll_pwait		sys_epoll_pwait			__sys_ia32_epoll_pwait
+318	i386	getcpu			sys_getcpu			__ia32_sys_getcpu
+319	i386	epoll_pwait		sys_epoll_pwait			__ia32_sys_epoll_pwait
 320	i386	utimensat		sys_utimensat			__compat_sys_ia32_utimensat
 321	i386	signalfd		sys_signalfd			__compat_sys_ia32_signalfd
-322	i386	timerfd_create		sys_timerfd_create		__sys_ia32_timerfd_create
-323	i386	eventfd			sys_eventfd			__sys_ia32_eventfd
+322	i386	timerfd_create		sys_timerfd_create		__ia32_sys_timerfd_create
+323	i386	eventfd			sys_eventfd			__ia32_sys_eventfd
 324	i386	fallocate		sys_fallocate			__compat_sys_ia32_x86_fallocate
 325	i386	timerfd_settime		sys_timerfd_settime		__compat_sys_ia32_timerfd_settime
 326	i386	timerfd_gettime		sys_timerfd_gettime		__compat_sys_ia32_timerfd_gettime
 327	i386	signalfd4		sys_signalfd4			__compat_sys_ia32_signalfd4
-328	i386	eventfd2		sys_eventfd2			__sys_ia32_eventfd2
-329	i386	epoll_create1		sys_epoll_create1		__sys_ia32_epoll_create1
-330	i386	dup3			sys_dup3			__sys_ia32_dup3
-331	i386	pipe2			sys_pipe2			__sys_ia32_pipe2
-332	i386	inotify_init1		sys_inotify_init1		__sys_ia32_inotify_init1
+328	i386	eventfd2		sys_eventfd2			__ia32_sys_eventfd2
+329	i386	epoll_create1		sys_epoll_create1		__ia32_sys_epoll_create1
+330	i386	dup3			sys_dup3			__ia32_sys_dup3
+331	i386	pipe2			sys_pipe2			__ia32_sys_pipe2
+332	i386	inotify_init1		sys_inotify_init1		__ia32_sys_inotify_init1
 333	i386	preadv			sys_preadv			__compat_sys_ia32_preadv
 334	i386	pwritev			sys_pwritev			__compat_sys_ia32_pwritev
 335	i386	rt_tgsigqueueinfo	sys_rt_tgsigqueueinfo		__compat_sys_ia32_rt_tgsigqueueinfo
-336	i386	perf_event_open		sys_perf_event_open		__sys_ia32_perf_event_open
+336	i386	perf_event_open		sys_perf_event_open		__ia32_sys_perf_event_open
 337	i386	recvmmsg		sys_recvmmsg			__compat_sys_ia32_recvmmsg
-338	i386	fanotify_init		sys_fanotify_init		__sys_ia32_fanotify_init
+338	i386	fanotify_init		sys_fanotify_init		__ia32_sys_fanotify_init
 339	i386	fanotify_mark		sys_fanotify_mark		__compat_sys_ia32_fanotify_mark
-340	i386	prlimit64		sys_prlimit64			__sys_ia32_prlimit64
-341	i386	name_to_handle_at	sys_name_to_handle_at		__sys_ia32_name_to_handle_at
+340	i386	prlimit64		sys_prlimit64			__ia32_sys_prlimit64
+341	i386	name_to_handle_at	sys_name_to_handle_at		__ia32_sys_name_to_handle_at
 342	i386	open_by_handle_at	sys_open_by_handle_at		__compat_sys_ia32_open_by_handle_at
 343	i386	clock_adjtime		sys_clock_adjtime		__compat_sys_ia32_clock_adjtime
-344	i386	syncfs			sys_syncfs			__sys_ia32_syncfs
+344	i386	syncfs			sys_syncfs			__ia32_sys_syncfs
 345	i386	sendmmsg		sys_sendmmsg			__compat_sys_ia32_sendmmsg
-346	i386	setns			sys_setns			__sys_ia32_setns
+346	i386	setns			sys_setns			__ia32_sys_setns
 347	i386	process_vm_readv	sys_process_vm_readv		__compat_sys_ia32_process_vm_readv
 348	i386	process_vm_writev	sys_process_vm_writev		__compat_sys_ia32_process_vm_writev
-349	i386	kcmp			sys_kcmp			__sys_ia32_kcmp
-350	i386	finit_module		sys_finit_module		__sys_ia32_finit_module
-351	i386	sched_setattr		sys_sched_setattr		__sys_ia32_sched_setattr
-352	i386	sched_getattr		sys_sched_getattr		__sys_ia32_sched_getattr
-353	i386	renameat2		sys_renameat2			__sys_ia32_renameat2
-354	i386	seccomp			sys_seccomp			__sys_ia32_seccomp
-355	i386	getrandom		sys_getrandom			__sys_ia32_getrandom
-356	i386	memfd_create		sys_memfd_create		__sys_ia32_memfd_create
-357	i386	bpf			sys_bpf				__sys_ia32_bpf
+349	i386	kcmp			sys_kcmp			__ia32_sys_kcmp
+350	i386	finit_module		sys_finit_module		__ia32_sys_finit_module
+351	i386	sched_setattr		sys_sched_setattr		__ia32_sys_sched_setattr
+352	i386	sched_getattr		sys_sched_getattr		__ia32_sys_sched_getattr
+353	i386	renameat2		sys_renameat2			__ia32_sys_renameat2
+354	i386	seccomp			sys_seccomp			__ia32_sys_seccomp
+355	i386	getrandom		sys_getrandom			__ia32_sys_getrandom
+356	i386	memfd_create		sys_memfd_create		__ia32_sys_memfd_create
+357	i386	bpf			sys_bpf				__ia32_sys_bpf
 358	i386	execveat		sys_execveat			__compat_sys_ia32_execveat
-359	i386	socket			sys_socket			__sys_ia32_socket
-360	i386	socketpair		sys_socketpair			__sys_ia32_socketpair
-361	i386	bind			sys_bind			__sys_ia32_bind
-362	i386	connect			sys_connect			__sys_ia32_connect
-363	i386	listen			sys_listen			__sys_ia32_listen
-364	i386	accept4			sys_accept4			__sys_ia32_accept4
+359	i386	socket			sys_socket			__ia32_sys_socket
+360	i386	socketpair		sys_socketpair			__ia32_sys_socketpair
+361	i386	bind			sys_bind			__ia32_sys_bind
+362	i386	connect			sys_connect			__ia32_sys_connect
+363	i386	listen			sys_listen			__ia32_sys_listen
+364	i386	accept4			sys_accept4			__ia32_sys_accept4
 365	i386	getsockopt		sys_getsockopt			__compat_sys_ia32_getsockopt
 366	i386	setsockopt		sys_setsockopt			__compat_sys_ia32_setsockopt
-367	i386	getsockname		sys_getsockname			__sys_ia32_getsockname
-368	i386	getpeername		sys_getpeername			__sys_ia32_getpeername
-369	i386	sendto			sys_sendto			__sys_ia32_sendto
+367	i386	getsockname		sys_getsockname			__ia32_sys_getsockname
+368	i386	getpeername		sys_getpeername			__ia32_sys_getpeername
+369	i386	sendto			sys_sendto			__ia32_sys_sendto
 370	i386	sendmsg			sys_sendmsg			__compat_sys_ia32_sendmsg
 371	i386	recvfrom		sys_recvfrom			__compat_sys_ia32_recvfrom
 372	i386	recvmsg			sys_recvmsg			__compat_sys_ia32_recvmsg
-373	i386	shutdown		sys_shutdown			__sys_ia32_shutdown
-374	i386	userfaultfd		sys_userfaultfd			__sys_ia32_userfaultfd
-375	i386	membarrier		sys_membarrier			__sys_ia32_membarrier
-376	i386	mlock2			sys_mlock2			__sys_ia32_mlock2
-377	i386	copy_file_range		sys_copy_file_range		__sys_ia32_copy_file_range
+373	i386	shutdown		sys_shutdown			__ia32_sys_shutdown
+374	i386	userfaultfd		sys_userfaultfd			__ia32_sys_userfaultfd
+375	i386	membarrier		sys_membarrier			__ia32_sys_membarrier
+376	i386	mlock2			sys_mlock2			__ia32_sys_mlock2
+377	i386	copy_file_range		sys_copy_file_range		__ia32_sys_copy_file_range
 378	i386	preadv2			sys_preadv2			__compat_sys_ia32_preadv2
 379	i386	pwritev2		sys_pwritev2			__compat_sys_ia32_pwritev2
-380	i386	pkey_mprotect		sys_pkey_mprotect		__sys_ia32_pkey_mprotect
-381	i386	pkey_alloc		sys_pkey_alloc			__sys_ia32_pkey_alloc
-382	i386	pkey_free		sys_pkey_free			__sys_ia32_pkey_free
-383	i386	statx			sys_statx			__sys_ia32_statx
+380	i386	pkey_mprotect		sys_pkey_mprotect		__ia32_sys_pkey_mprotect
+381	i386	pkey_alloc		sys_pkey_alloc			__ia32_sys_pkey_alloc
+382	i386	pkey_free		sys_pkey_free			__ia32_sys_pkey_free
+383	i386	statx			sys_statx			__ia32_sys_statx
 384	i386	arch_prctl		sys_arch_prctl			__compat_sys_ia32_arch_prctl
diff --git a/arch/x86/include/asm/syscall_wrapper.h b/arch/x86/include/asm/syscall_wrapper.h
index 49d7e4970110..798a3c2bff4f 100644
--- a/arch/x86/include/asm/syscall_wrapper.h
+++ b/arch/x86/include/asm/syscall_wrapper.h
@@ -22,7 +22,7 @@
 #ifdef CONFIG_IA32_EMULATION
 /*
  * For IA32 emulation, we need to handle "compat" syscalls *and* create
- * additional wrappers (aptly named __sys_ia32_sys_xyzzy) which decode the
+ * additional wrappers (aptly named __ia32_sys_xyzzy) which decode the
  * ia32 regs in the proper order for shared or "common" syscalls. As some
  * syscalls may not be implemented, we need to expand COND_SYSCALL in
  * kernel/sys_ni.c and SYS_NI in kernel/time/posix-stubs.c to cover this
@@ -37,20 +37,20 @@
 	}								\
 
 #define SC_IA32_WRAPPERx(x, name, ...)					\
-	asmlinkage long __sys_ia32##name(const struct pt_regs *regs);	\
-	ALLOW_ERROR_INJECTION(__sys_ia32##name, ERRNO);			\
-	asmlinkage long __sys_ia32##name(const struct pt_regs *regs)	\
+	asmlinkage long __ia32_sys##name(const struct pt_regs *regs);	\
+	ALLOW_ERROR_INJECTION(__ia32_sys##name, ERRNO);			\
+	asmlinkage long __ia32_sys##name(const struct pt_regs *regs)	\
 	{								\
-		return SyS##name(SC_IA32_REGS_TO_ARGS(x,__VA_ARGS__));	\
+		return __se_sys##name(SC_IA32_REGS_TO_ARGS(x,__VA_ARGS__));\
 	}
 
 #define COND_SYSCALL(name)						\
 	cond_syscall(sys_##name);					\
-	cond_syscall(__sys_ia32_##name)
+	cond_syscall(__ia32_sys_##name)
 
 #define SYS_NI(name)							\
 	SYSCALL_ALIAS(sys_##name, sys_ni_posix_timers);			\
-	SYSCALL_ALIAS(__sys_ia32_##name, sys_ni_posix_timers)
+	SYSCALL_ALIAS(__ia32_sys_##name, sys_ni_posix_timers)
 
 #else /* CONFIG_IA32_EMULATION */
 #define COMPAT_SC_IA32_STUBx(x, name, ...)
@@ -115,9 +115,10 @@
  * Instead of the generic __SYSCALL_DEFINEx() definition, this macro takes
  * struct pt_regs *regs as the only argument of the syscall stub named
  * sys_*(). It decodes just the registers it needs and passes them on to
- * the SyS_*() wrapper and then to the SYSC_*() function doing the actual job.
- * These wrappers and functions are inlined, meaning that the assembly looks
- * as follows (slightly re-ordered):
+ * the __se_sys_*() wrapper performing sign extension and then to the
+ * __do_sys_*() function doing the actual job. These wrappers and functions
+ * are inlined (at least in very most cases), meaning that the assembly looks
+ * as follows (slightly re-ordered for better readability):
  *
  * <sys_recv>:			<-- syscall with 4 parameters
  *	callq	<__fentry__>
@@ -140,7 +141,7 @@
  * the call chain.
  *
  * If IA32_EMULATION is enabled, this macro generates an additional wrapper
- * named __sys_ia32_*() which decodes the struct pt_regs *regs according
+ * named __ia32_sys_*() which decodes the struct pt_regs *regs according
  * to the i386 calling convention (bx, cx, dx, si, di, bp).
  *
  * As the generic SYSCALL_DEFINE0() macro does not decode any parameters for
@@ -151,21 +152,21 @@
 #define __SYSCALL_DEFINEx(x, name, ...)					\
 	asmlinkage long sys##name(const struct pt_regs *regs);		\
 	ALLOW_ERROR_INJECTION(sys##name, ERRNO);			\
-	static long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__));		\
-	static inline long SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__));	\
+	static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__));	\
+	static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\
 	asmlinkage long sys##name(const struct pt_regs *regs)		\
 	{								\
-		return SyS##name(SC_X86_64_REGS_TO_ARGS(x,__VA_ARGS__));\
+		return __se_sys##name(SC_X86_64_REGS_TO_ARGS(x,__VA_ARGS__));\
 	}								\
 	SC_IA32_WRAPPERx(x, name, __VA_ARGS__)				\
-	static long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__))		\
+	static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))	\
 	{								\
-		long ret = SYSC##name(__MAP(x,__SC_CAST,__VA_ARGS__));	\
+		long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\
 		__MAP(x,__SC_TEST,__VA_ARGS__);				\
 		__PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__));	\
 		return ret;						\
 	}								\
-	static inline long SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__))
+	static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
 
 /*
  * For VSYSCALLS, we need to declare these three syscalls with the new
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index d7168b3a4b4c..70fcda1a9049 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -223,21 +223,26 @@ static inline int is_syscall_trace_event(struct trace_event_call *tp_event)
 
 #define __PROTECT(...) asmlinkage_protect(__VA_ARGS__)
 
+/*
+ * The asmlinkage stub is aliased to a function named __se_sys_*() which
+ * sign-extends 32-bit ints to longs whenever needed. The actual work is
+ * done within __do_sys_*().
+ */
 #ifndef __SYSCALL_DEFINEx
 #define __SYSCALL_DEFINEx(x, name, ...)					\
 	asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))	\
-		__attribute__((alias(__stringify(SyS##name))));		\
+		__attribute__((alias(__stringify(__se_sys##name))));	\
 	ALLOW_ERROR_INJECTION(sys##name, ERRNO);			\
-	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__))	\
+	static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\
+	asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__));	\
+	asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))	\
 	{								\
-		long ret = SYSC##name(__MAP(x,__SC_CAST,__VA_ARGS__));	\
+		long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\
 		__MAP(x,__SC_TEST,__VA_ARGS__);				\
 		__PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__));	\
 		return ret;						\
 	}								\
-	static inline long SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__))
+	static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
 #endif /* __SYSCALL_DEFINEx */
 
 /*
diff --git a/scripts/bloat-o-meter b/scripts/bloat-o-meter
index d84a5674e95e..ce129e61cc65 100755
--- a/scripts/bloat-o-meter
+++ b/scripts/bloat-o-meter
@@ -30,7 +30,7 @@ def getsizes(file, format):
             if type in format:
                 # strip generated symbols
                 if name.startswith("__mod_"): continue
-                if name.startswith("SyS_"): continue
+                if name.startswith("__se_sys"): continue
                 if name.startswith("compat_SyS_"): continue
                 if name == "linux_banner": continue
                 # statics and some other optimizations adds random .NUMBER
-- 
2.17.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ