diff options
| -rw-r--r-- | arch/s390/include/asm/unistd.h | 20 | ||||
| -rw-r--r-- | arch/s390/include/uapi/asm/unistd.h | 19 | ||||
| -rw-r--r-- | arch/s390/kernel/compat_wrapper.c | 7 | ||||
| -rw-r--r-- | arch/s390/kernel/syscalls.S | 17 |
4 files changed, 42 insertions, 21 deletions
diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h index 525cef73b085..02613bad8bbb 100644 --- a/arch/s390/include/asm/unistd.h +++ b/arch/s390/include/asm/unistd.h | |||
| @@ -8,28 +8,8 @@ | |||
| 8 | 8 | ||
| 9 | #include <uapi/asm/unistd.h> | 9 | #include <uapi/asm/unistd.h> |
| 10 | 10 | ||
| 11 | |||
| 12 | #define __IGNORE_time | 11 | #define __IGNORE_time |
| 13 | 12 | ||
| 14 | /* Ignore system calls that are also reachable via sys_socketcall */ | ||
| 15 | #define __IGNORE_recvmmsg | ||
| 16 | #define __IGNORE_sendmmsg | ||
| 17 | #define __IGNORE_socket | ||
| 18 | #define __IGNORE_socketpair | ||
| 19 | #define __IGNORE_bind | ||
| 20 | #define __IGNORE_connect | ||
| 21 | #define __IGNORE_listen | ||
| 22 | #define __IGNORE_accept4 | ||
| 23 | #define __IGNORE_getsockopt | ||
| 24 | #define __IGNORE_setsockopt | ||
| 25 | #define __IGNORE_getsockname | ||
| 26 | #define __IGNORE_getpeername | ||
| 27 | #define __IGNORE_sendto | ||
| 28 | #define __IGNORE_sendmsg | ||
| 29 | #define __IGNORE_recvfrom | ||
| 30 | #define __IGNORE_recvmsg | ||
| 31 | #define __IGNORE_shutdown | ||
| 32 | |||
| 33 | #define __ARCH_WANT_OLD_READDIR | 13 | #define __ARCH_WANT_OLD_READDIR |
| 34 | #define __ARCH_WANT_SYS_ALARM | 14 | #define __ARCH_WANT_SYS_ALARM |
| 35 | #define __ARCH_WANT_SYS_GETHOSTNAME | 15 | #define __ARCH_WANT_SYS_GETHOSTNAME |
diff --git a/arch/s390/include/uapi/asm/unistd.h b/arch/s390/include/uapi/asm/unistd.h index ff74d4976a6d..a848adba1504 100644 --- a/arch/s390/include/uapi/asm/unistd.h +++ b/arch/s390/include/uapi/asm/unistd.h | |||
| @@ -292,7 +292,24 @@ | |||
| 292 | #define __NR_execveat 354 | 292 | #define __NR_execveat 354 |
| 293 | #define __NR_userfaultfd 355 | 293 | #define __NR_userfaultfd 355 |
| 294 | #define __NR_membarrier 356 | 294 | #define __NR_membarrier 356 |
| 295 | #define NR_syscalls 357 | 295 | #define __NR_recvmmsg 357 |
| 296 | #define __NR_sendmmsg 358 | ||
| 297 | #define __NR_socket 359 | ||
| 298 | #define __NR_socketpair 360 | ||
| 299 | #define __NR_bind 361 | ||
| 300 | #define __NR_connect 362 | ||
| 301 | #define __NR_listen 363 | ||
| 302 | #define __NR_accept4 364 | ||
| 303 | #define __NR_getsockopt 365 | ||
| 304 | #define __NR_setsockopt 366 | ||
| 305 | #define __NR_getsockname 367 | ||
| 306 | #define __NR_getpeername 368 | ||
| 307 | #define __NR_sendto 369 | ||
| 308 | #define __NR_sendmsg 370 | ||
| 309 | #define __NR_recvfrom 371 | ||
| 310 | #define __NR_recvmsg 372 | ||
| 311 | #define __NR_shutdown 373 | ||
| 312 | #define NR_syscalls 374 | ||
| 296 | 313 | ||
| 297 | /* | 314 | /* |
| 298 | * There are some system calls that are not present on 64 bit, some | 315 | * There are some system calls that are not present on 64 bit, some |
diff --git a/arch/s390/kernel/compat_wrapper.c b/arch/s390/kernel/compat_wrapper.c index ada630135824..09f194052df3 100644 --- a/arch/s390/kernel/compat_wrapper.c +++ b/arch/s390/kernel/compat_wrapper.c | |||
| @@ -169,3 +169,10 @@ COMPAT_SYSCALL_WRAP2(memfd_create, const char __user *, uname, unsigned int, fla | |||
| 169 | COMPAT_SYSCALL_WRAP3(bpf, int, cmd, union bpf_attr *, attr, unsigned int, size); | 169 | COMPAT_SYSCALL_WRAP3(bpf, int, cmd, union bpf_attr *, attr, unsigned int, size); |
| 170 | COMPAT_SYSCALL_WRAP3(s390_pci_mmio_write, const unsigned long, mmio_addr, const void __user *, user_buffer, const size_t, length); | 170 | COMPAT_SYSCALL_WRAP3(s390_pci_mmio_write, const unsigned long, mmio_addr, const void __user *, user_buffer, const size_t, length); |
| 171 | COMPAT_SYSCALL_WRAP3(s390_pci_mmio_read, const unsigned long, mmio_addr, void __user *, user_buffer, const size_t, length); | 171 | COMPAT_SYSCALL_WRAP3(s390_pci_mmio_read, const unsigned long, mmio_addr, void __user *, user_buffer, const size_t, length); |
| 172 | COMPAT_SYSCALL_WRAP4(socketpair, int, family, int, type, int, protocol, int __user *, usockvec); | ||
| 173 | COMPAT_SYSCALL_WRAP3(bind, int, fd, struct sockaddr __user *, umyaddr, int, addrlen); | ||
| 174 | COMPAT_SYSCALL_WRAP3(connect, int, fd, struct sockaddr __user *, uservaddr, int, addrlen); | ||
| 175 | COMPAT_SYSCALL_WRAP4(accept4, int, fd, struct sockaddr __user *, upeer_sockaddr, int __user *, upeer_addrlen, int, flags); | ||
| 176 | COMPAT_SYSCALL_WRAP3(getsockname, int, fd, struct sockaddr __user *, usockaddr, int __user *, usockaddr_len); | ||
| 177 | COMPAT_SYSCALL_WRAP3(getpeername, int, fd, struct sockaddr __user *, usockaddr, int __user *, usockaddr_len); | ||
| 178 | COMPAT_SYSCALL_WRAP6(sendto, int, fd, void __user *, buff, size_t, len, unsigned int, flags, struct sockaddr __user *, addr, int, addr_len); | ||
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index 996f95a06bd7..8c56929c8d82 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S | |||
| @@ -365,3 +365,20 @@ SYSCALL(sys_s390_pci_mmio_read,compat_sys_s390_pci_mmio_read) | |||
| 365 | SYSCALL(sys_execveat,compat_sys_execveat) | 365 | SYSCALL(sys_execveat,compat_sys_execveat) |
| 366 | SYSCALL(sys_userfaultfd,sys_userfaultfd) /* 355 */ | 366 | SYSCALL(sys_userfaultfd,sys_userfaultfd) /* 355 */ |
| 367 | SYSCALL(sys_membarrier,sys_membarrier) | 367 | SYSCALL(sys_membarrier,sys_membarrier) |
| 368 | SYSCALL(sys_recvmmsg,compat_sys_recvmmsg) | ||
| 369 | SYSCALL(sys_sendmmsg,compat_sys_sendmmsg) | ||
| 370 | SYSCALL(sys_socket,sys_socket) | ||
| 371 | SYSCALL(sys_socketpair,compat_sys_socketpair) /* 360 */ | ||
| 372 | SYSCALL(sys_bind,sys_bind) | ||
| 373 | SYSCALL(sys_connect,sys_connect) | ||
| 374 | SYSCALL(sys_listen,sys_listen) | ||
| 375 | SYSCALL(sys_accept4,sys_accept4) | ||
| 376 | SYSCALL(sys_getsockopt,compat_sys_getsockopt) /* 365 */ | ||
| 377 | SYSCALL(sys_setsockopt,compat_sys_setsockopt) | ||
| 378 | SYSCALL(sys_getsockname,compat_sys_getsockname) | ||
| 379 | SYSCALL(sys_getpeername,compat_sys_getpeername) | ||
| 380 | SYSCALL(sys_sendto,compat_sys_sendto) | ||
| 381 | SYSCALL(sys_sendmsg,compat_sys_sendmsg) /* 370 */ | ||
| 382 | SYSCALL(sys_recvfrom,compat_sys_recvfrom) | ||
| 383 | SYSCALL(sys_recvmsg,compat_sys_recvmsg) | ||
| 384 | SYSCALL(sys_shutdown,sys_shutdown) | ||
