summaryrefslogtreecommitdiff
path: root/src/core/syscall-list.c
diff options
context:
space:
mode:
authorJonathan Callen <abcd@gentoo.org>2012-07-24 22:45:22 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-01-19 12:03:06 -0500
commit843fc7f7f26a6507fe896a79ed1b474c35c4300f (patch)
treebd465b18a828d0abbc5505f2d63fc7ccb5817208 /src/core/syscall-list.c
parent25da63b9dac8f166ebf390ca92d1de18fbfc9d11 (diff)
execute: Fix seccomp support on x32
In the x32 ABI, syscall numbers start at 0x40000000. Mask that bit on x32 for lookups in the syscall_names array and syscall_filter and ensure that syscall.h is parsed correctly. [zj: added SYSCALL_TO_INDEX, INDEX_TO_SYSCALL macros.]
Diffstat (limited to 'src/core/syscall-list.c')
-rw-r--r--src/core/syscall-list.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/syscall-list.c b/src/core/syscall-list.c
index 05fad3e158..b608e8582f 100644
--- a/src/core/syscall-list.c
+++ b/src/core/syscall-list.c
@@ -32,6 +32,7 @@ const struct syscall_name *lookup_syscall(register const char *str, register uns
#include "syscall-from-name.h"
const char *syscall_to_name(int id) {
+ id = SYSCALL_TO_INDEX(id);
if (id < 0 || id >= (int) ELEMENTSOF(syscall_names))
return NULL;