41 lines
1.9 KiB
Diff
41 lines
1.9 KiB
Diff
From: Heiko Carstens <heiko.carstens@de.ibm.com>
|
|
Date: Mon, 11 Aug 2014 14:50:37 +0200
|
|
Subject: s390: wire up memfd_create syscall
|
|
Origin: https://git.kernel.org/linus/7bb1cdbfe2b07d9272b4b132511c82527314b00f
|
|
Bug-Debian: https://bugs.debian.org/760702
|
|
|
|
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
|
|
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
|
[bwh: Backported to 3.16:
|
|
- Adjust context
|
|
- Insert unimplemented-syscall entries for seccomp and getrandom]
|
|
---
|
|
--- a/arch/s390/include/uapi/asm/unistd.h
|
|
+++ b/arch/s390/include/uapi/asm/unistd.h
|
|
@@ -283,7 +283,8 @@
|
|
#define __NR_sched_setattr 345
|
|
#define __NR_sched_getattr 346
|
|
#define __NR_renameat2 347
|
|
-#define NR_syscalls 348
|
|
+#define __NR_memfd_create 350
|
|
+#define NR_syscalls 351
|
|
|
|
/*
|
|
* There are some system calls that are not present on 64 bit, some
|
|
--- a/arch/s390/kernel/compat_wrapper.c
|
|
+++ b/arch/s390/kernel/compat_wrapper.c
|
|
@@ -214,3 +214,4 @@ COMPAT_SYSCALL_WRAP3(finit_module, int,
|
|
COMPAT_SYSCALL_WRAP3(sched_setattr, pid_t, pid, struct sched_attr __user *, attr, unsigned int, flags);
|
|
COMPAT_SYSCALL_WRAP4(sched_getattr, pid_t, pid, struct sched_attr __user *, attr, unsigned int, size, unsigned int, flags);
|
|
COMPAT_SYSCALL_WRAP5(renameat2, int, olddfd, const char __user *, oldname, int, newdfd, const char __user *, newname, unsigned int, flags);
|
|
+COMPAT_SYSCALL_WRAP2(memfd_create, const char __user *, uname, unsigned int, flags)
|
|
--- a/arch/s390/kernel/syscalls.S
|
|
+++ b/arch/s390/kernel/syscalls.S
|
|
@@ -356,3 +356,6 @@ SYSCALL(sys_finit_module,sys_finit_modul
|
|
SYSCALL(sys_sched_setattr,sys_sched_setattr,compat_sys_sched_setattr) /* 345 */
|
|
SYSCALL(sys_sched_getattr,sys_sched_getattr,compat_sys_sched_getattr)
|
|
SYSCALL(sys_renameat2,sys_renameat2,compat_sys_renameat2)
|
|
+NI_SYSCALL /* seccomp */
|
|
+NI_SYSCALL /* getrandom */
|
|
+SYSCALL(sys_memfd_create,sys_memfd_create,compat_sys_memfd_create) /* 350 */
|