summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Moore <pmoore@redhat.com>2015-02-10 14:22:07 -0500
committerPaul Moore <pmoore@redhat.com>2015-02-10 14:22:07 -0500
commitd2a4f2f7c7c626bd995fee2967e1edad7b6a156c (patch)
tree06d3115f4c70f7457183e7e07e83e00edaf12158
parent9432a8b64051ec477a602f38c7cf93ae7c1c987f (diff)
downloadlibseccomp-d2a4f2f7c7c626bd995fee2967e1edad7b6a156c.tar.gz
ppc64: correct the ppc64 syscall table and validation script
We didn't correctly take into account the __powerpc64__ define when generating the ppc64 syscall table. This patch also updates the syscall table to match Linux v3.19. Signed-off-by: Paul Moore <pmoore@redhat.com>
-rw-r--r--src/arch-ppc64-syscalls.c26
-rwxr-xr-xsrc/arch-syscall-validate2
2 files changed, 15 insertions, 13 deletions
diff --git a/src/arch-ppc64-syscalls.c b/src/arch-ppc64-syscalls.c
index 5dfb367..1c2a1df 100644
--- a/src/arch-ppc64-syscalls.c
+++ b/src/arch-ppc64-syscalls.c
@@ -27,7 +27,7 @@
#include "arch.h"
#include "arch-ppc64.h"
-/* NOTE: based on Linux 3.17-rc6+ */
+/* NOTE: based on Linux 3.19 */
const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "_llseek", 140 },
{ "_newselect", 142 },
@@ -45,6 +45,7 @@ const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "arch_prctl", __PNR_arch_prctl },
{ "bdflush", 134 },
{ "bind", 327 },
+ { "bpf", 361 },
{ "break", 17 },
{ "brk", 45 },
{ "cachectl", __PNR_cachectl },
@@ -80,11 +81,12 @@ const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "eventfd", 307 },
{ "eventfd2", 314 },
{ "execve", 11 },
+ { "execveat", 362 },
{ "exit", 1 },
{ "exit_group", 234 },
{ "faccessat", 298 },
{ "fadvise64", 233 },
- { "fadvise64_64", 254 },
+ { "fadvise64_64", __PNR_fadvise64_64 },
{ "fallocate", 309 },
{ "fanotify_init", 323 },
{ "fanotify_mark", 324 },
@@ -95,7 +97,7 @@ const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "fchown32", __PNR_fchown32 },
{ "fchownat", 289 },
{ "fcntl", 55 },
- { "fcntl64", 204 },
+ { "fcntl64", __PNR_fcntl64 },
{ "fdatasync", 148 },
{ "fgetxattr", 214 },
{ "finit_module", 353 },
@@ -105,14 +107,14 @@ const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "fremovexattr", 220 },
{ "fsetxattr", 211 },
{ "fstat", 108 },
- { "fstat64", 197 },
- { "fstatat64", 291 },
+ { "fstat64", __PNR_fstat64 },
+ { "fstatat64", __PNR_fstatat64 },
{ "fstatfs", 100 },
{ "fstatfs64", 253 },
{ "fsync", 118 },
{ "ftime", 35 },
{ "ftruncate", 93 },
- { "ftruncate64", 194 },
+ { "ftruncate64", __PNR_ftruncate64 },
{ "futex", 221 },
{ "futimesat", 290 },
{ "get_kernel_syms", 130 },
@@ -191,7 +193,7 @@ const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "lseek", 19 },
{ "lsetxattr", 210 },
{ "lstat", 107 },
- { "lstat64", 196 },
+ { "lstat64", __PNR_lstat64 },
{ "madvise", 205 },
{ "mbind", 259 },
{ "memfd_create", 360 },
@@ -204,7 +206,7 @@ const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "mlock", 150 },
{ "mlockall", 152 },
{ "mmap", 90 },
- { "mmap2", 192 },
+ { "mmap2", __PNR_mmap2 },
{ "modify_ldt", 123 },
{ "mount", 21 },
{ "move_pages", 301 },
@@ -228,7 +230,7 @@ const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "munmap", 91 },
{ "name_to_handle_at", 345 },
{ "nanosleep", 162 },
- { "newfstatat", __PNR_newfstatat },
+ { "newfstatat", 291 },
{ "nfsservctl", 168 },
{ "nice", 34 },
{ "oldfstat", 28 },
@@ -315,7 +317,7 @@ const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "semtimedop", __PNR_semtimedop },
{ "send", 334 },
{ "sendfile", 186 },
- { "sendfile64", 226 },
+ { "sendfile64", __PNR_sendfile64 },
{ "sendmmsg", 349 },
{ "sendmsg", 341 },
{ "sendto", 335 },
@@ -375,7 +377,7 @@ const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "spu_run", 278 },
{ "ssetmask", 69 },
{ "stat", 106 },
- { "stat64", 195 },
+ { "stat64", __PNR_stat64 },
{ "statfs", 99 },
{ "statfs64", 252 },
{ "stime", 25 },
@@ -411,7 +413,7 @@ const struct arch_syscall_def ppc64_syscall_table[] = { \
{ "times", 43 },
{ "tkill", 208 },
{ "truncate", 92 },
- { "truncate64", 193 },
+ { "truncate64", __PNR_truncate64 },
{ "tuxcall", 225 },
{ "ugetrlimit", 190 },
{ "ulimit", 58 },
diff --git a/src/arch-syscall-validate b/src/arch-syscall-validate
index eeb4d8b..e28b206 100755
--- a/src/arch-syscall-validate
+++ b/src/arch-syscall-validate
@@ -311,7 +311,7 @@ function dump_lib_mips64n32() {
# Dump the architecture's syscall table to stdout.
#
function dump_sys_ppc64() {
- gcc -E -dM $1/arch/powerpc/include/uapi/asm/unistd.h | \
+ gcc -E -dM -D__powerpc64__ $1/arch/powerpc/include/uapi/asm/unistd.h | \
grep "^#define __NR_" | sort | \
sed -e 's/#define[ \t]\+__NR_\([a-z0-9_]\+\)[ \t]\+\([0-9]\+\)/\1\t\2/'
}