summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hromatka <tom.hromatka@oracle.com>2020-01-27 11:12:33 -0700
committerPaul Moore <paul@paul-moore.com>2020-02-22 21:25:28 -0500
commit0a4c0300ebcc982cf419a4f7382ffc28e4792d2a (patch)
treea6b8ed6865fa227ebe032a66ee04d524a39cb7c3
parented3b35c5f100516f0bb3f4efc4e29598936ec422 (diff)
downloadlibseccomp-0a4c0300ebcc982cf419a4f7382ffc28e4792d2a.tar.gz
s390: Fix multiplexing issue with shm* syscalls
On s390, shmat, shmdt, shmget, and shmctl can be done either via sockets or ipc. Prior to this commit, the s390 code only supported these calls via sockets. This commit adds support for both sockets and ipc. Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
-rw-r--r--src/arch-s390-syscalls.c16
-rw-r--r--src/arch-s390x-syscalls.c16
2 files changed, 32 insertions, 0 deletions
diff --git a/src/arch-s390-syscalls.c b/src/arch-s390-syscalls.c
index 247bb46..6dd84db 100644
--- a/src/arch-s390-syscalls.c
+++ b/src/arch-s390-syscalls.c
@@ -531,6 +531,14 @@ int s390_syscall_resolve_name(const char *name)
return __PNR_sendto;
else if (strcmp(name, "setsockopt") == 0)
return __PNR_setsockopt;
+ else if (strcmp(name, "shmat") == 0)
+ return __PNR_shmat;
+ else if (strcmp(name, "shmdt") == 0)
+ return __PNR_shmdt;
+ else if (strcmp(name, "shmget") == 0)
+ return __PNR_shmget;
+ else if (strcmp(name, "shmctl") == 0)
+ return __PNR_shmctl;
else if (strcmp(name, "shutdown") == 0)
return __PNR_shutdown;
else if (strcmp(name, "socket") == 0)
@@ -596,6 +604,14 @@ const char *s390_syscall_resolve_num(int num)
return "sendto";
else if (num == __PNR_setsockopt)
return "setsockopt";
+ else if (num == __PNR_shmat)
+ return "shmat";
+ else if (num == __PNR_shmdt)
+ return "shmdt";
+ else if (num == __PNR_shmget)
+ return "shmget";
+ else if (num == __PNR_shmctl)
+ return "shmctl";
else if (num == __PNR_shutdown)
return "shutdown";
else if (num == __PNR_socket)
diff --git a/src/arch-s390x-syscalls.c b/src/arch-s390x-syscalls.c
index 1ada38e..703eaf1 100644
--- a/src/arch-s390x-syscalls.c
+++ b/src/arch-s390x-syscalls.c
@@ -531,6 +531,14 @@ int s390x_syscall_resolve_name(const char *name)
return __PNR_sendto;
else if (strcmp(name, "setsockopt") == 0)
return __PNR_setsockopt;
+ else if (strcmp(name, "shmat") == 0)
+ return __PNR_shmat;
+ else if (strcmp(name, "shmdt") == 0)
+ return __PNR_shmdt;
+ else if (strcmp(name, "shmget") == 0)
+ return __PNR_shmget;
+ else if (strcmp(name, "shmctl") == 0)
+ return __PNR_shmctl;
else if (strcmp(name, "shutdown") == 0)
return __PNR_shutdown;
else if (strcmp(name, "socket") == 0)
@@ -596,6 +604,14 @@ const char *s390x_syscall_resolve_num(int num)
return "sendto";
else if (num == __PNR_setsockopt)
return "setsockopt";
+ else if (num == __PNR_shmat)
+ return "shmat";
+ else if (num == __PNR_shmdt)
+ return "shmdt";
+ else if (num == __PNR_shmget)
+ return "shmget";
+ else if (num == __PNR_shmctl)
+ return "shmctl";
else if (num == __PNR_shutdown)
return "shutdown";
else if (num == __PNR_socket)