aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/entry/syscalls/syscall_64.tbl
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@kernel.org>2020-10-11 19:51:21 -0700
committerIngo Molnar <mingo@kernel.org>2020-10-14 19:53:40 +0200
commitc3b484c439b0bab7a698495f33ef16286a1000c4 (patch)
treebebb383c2c784e27f24861b1173bc975e5876c90 /arch/x86/entry/syscalls/syscall_64.tbl
parentx86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 compiled kernels (diff)
downloadlinux-dev-c3b484c439b0bab7a698495f33ef16286a1000c4.tar.xz
linux-dev-c3b484c439b0bab7a698495f33ef16286a1000c4.zip
x86/syscalls: Document the fact that syscalls 512-547 are a legacy mistake
Since this commit: 6365b842aae4 ("x86/syscalls: Split the x32 syscalls into their own table") there is no need for special x32-specific syscall numbers. I forgot to update the comments in syscall_64.tbl. Add comments to make it clear to future contributors that this range is a legacy wart. Reported-by: Jessica Clarke <jrtc27@jrtc27.com> Signed-off-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/6c56fb4ddd18fc60a238eb4d867e4b3d97c6351e.1602471055.git.luto@kernel.org
Diffstat (limited to 'arch/x86/entry/syscalls/syscall_64.tbl')
-rw-r--r--arch/x86/entry/syscalls/syscall_64.tbl10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/x86/entry/syscalls/syscall_64.tbl b/arch/x86/entry/syscalls/syscall_64.tbl
index f30d6ae9a688..4adb5d2a3319 100644
--- a/arch/x86/entry/syscalls/syscall_64.tbl
+++ b/arch/x86/entry/syscalls/syscall_64.tbl
@@ -363,10 +363,10 @@
439 common faccessat2 sys_faccessat2
#
-# x32-specific system call numbers start at 512 to avoid cache impact
-# for native 64-bit operation. The __x32_compat_sys stubs are created
-# on-the-fly for compat_sys_*() compatibility system calls if X86_X32
-# is defined.
+# Due to a historical design error, certain syscalls are numbered differently
+# in x32 as compared to native x86_64. These syscalls have numbers 512-547.
+# Do not add new syscalls to this range. Numbers 548 and above are available
+# for non-x32 use.
#
512 x32 rt_sigaction compat_sys_rt_sigaction
513 x32 rt_sigreturn compat_sys_x32_rt_sigreturn
@@ -404,3 +404,5 @@
545 x32 execveat compat_sys_execveat
546 x32 preadv2 compat_sys_preadv64v2
547 x32 pwritev2 compat_sys_pwritev64v2
+# This is the end of the legacy x32 range. Numbers 548 and above are
+# not special and are not to be used for x32-specific syscalls.