mirror of
https://git.yoctoproject.org/meta-security
synced 2026-07-16 15:57:21 +00:00
43fd825acf
backport ppc patches Signed-off-by: Armin Kuster <akuster808@gmail.com>
149 lines
4.5 KiB
Diff
149 lines
4.5 KiB
Diff
From 75d3aa041dc3c8214610e44d317703c055e5e055 Mon Sep 17 00:00:00 2001
|
|
From: Paul Moore <pmoore@redhat.com>
|
|
Date: Tue, 10 Feb 2015 14:22:07 -0500
|
|
Subject: [PATCH 06/11] 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>
|
|
---
|
|
src/arch-ppc64-syscalls.c | 26 ++++++++++++++------------
|
|
src/arch-syscall-validate | 2 +-
|
|
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/'
|
|
}
|
|
--
|
|
2.3.5
|
|
|