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:29:41 -0500
commit266e1b4c28cc5fd2e45de32c1f3509b94761f3e6 (patch)
treeeabb7adce1ad35692169b14cde59364c41dfcead
parentc09346bb9847c2a1506bb5ed55afcf78d199bea6 (diff)
downloadlibseccomp-266e1b4c28cc5fd2e45de32c1f3509b94761f3e6.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> (imported from commit 0a4c0300ebcc982cf419a4f7382ffc28e4792d2a)
-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)