diff options
author | Tom Hromatka <tom.hromatka@oracle.com> | 2020-01-27 11:12:33 -0700 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2020-02-22 21:29:41 -0500 |
commit | 266e1b4c28cc5fd2e45de32c1f3509b94761f3e6 (patch) | |
tree | eabb7adce1ad35692169b14cde59364c41dfcead | |
parent | c09346bb9847c2a1506bb5ed55afcf78d199bea6 (diff) | |
download | libseccomp-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.c | 16 | ||||
-rw-r--r-- | src/arch-s390x-syscalls.c | 16 |
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) |