summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@kernel.org>2019-07-03 22:34:03 +0200
committerThomas Gleixner <tglx@linutronix.de>2019-07-22 10:31:22 +0200
commitf85a8573ceb225e606fcf38a9320782316f47c71 (patch)
treeafe686274467678788337a7c2872028ac777ae81
parentx86/syscalls: Use the compat versions of rt_sigsuspend() and rt_sigprocmask() (diff)
downloadlinux-f85a8573ceb225e606fcf38a9320782316f47c71.tar.xz
linux-f85a8573ceb225e606fcf38a9320782316f47c71.zip
x86/syscalls: Disallow compat entries for all types of 64-bit syscalls
A "compat" entry in the syscall tables means to use a different entry on 32-bit and 64-bit builds. This only makes sense for syscalls that exist in the first place in 32-bit builds, so disallow it for anything other than i386. Signed-off-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lkml.kernel.org/r/4b7565954c5a06530ac01d98cb1592538fd8ae51.1562185330.git.luto@kernel.org
-rw-r--r--arch/x86/entry/syscalls/syscalltbl.sh4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/entry/syscalls/syscalltbl.sh b/arch/x86/entry/syscalls/syscalltbl.sh
index 94fcd1951aca..53c8c1a9adf9 100644
--- a/arch/x86/entry/syscalls/syscalltbl.sh
+++ b/arch/x86/entry/syscalls/syscalltbl.sh
@@ -27,8 +27,8 @@ emit() {
compat="$4"
umlentry=""
- if [ "$abi" = "64" -a -n "$compat" ]; then
- echo "a compat entry for a 64-bit syscall makes no sense" >&2
+ if [ "$abi" != "I386" -a -n "$compat" ]; then
+ echo "a compat entry ($abi: $compat) for a 64-bit syscall makes no sense" >&2
exit 1
fi