diff options
-rw-r--r-- | arch/s390/include/asm/unistd.h | 5 | ||||
-rw-r--r-- | arch/s390/kernel/compat_wrapper.S | 24 | ||||
-rw-r--r-- | arch/s390/kernel/syscalls.S | 3 |
3 files changed, 31 insertions, 1 deletions
diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h index 5f0075150a65..1049ef27c15e 100644 --- a/arch/s390/include/asm/unistd.h +++ b/arch/s390/include/asm/unistd.h | |||
@@ -269,7 +269,10 @@ | |||
269 | #define __NR_pwritev 329 | 269 | #define __NR_pwritev 329 |
270 | #define __NR_rt_tgsigqueueinfo 330 | 270 | #define __NR_rt_tgsigqueueinfo 330 |
271 | #define __NR_perf_event_open 331 | 271 | #define __NR_perf_event_open 331 |
272 | #define NR_syscalls 332 | 272 | #define __NR_fanotify_init 332 |
273 | #define __NR_fanotify_mark 333 | ||
274 | #define __NR_prlimit64 334 | ||
275 | #define NR_syscalls 335 | ||
273 | 276 | ||
274 | /* | 277 | /* |
275 | * There are some system calls that are not present on 64 bit, some | 278 | * There are some system calls that are not present on 64 bit, some |
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index 1600f5097148..8e60fb23b90d 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S | |||
@@ -1853,3 +1853,27 @@ sys32_execve_wrapper: | |||
1853 | llgtr %r3,%r3 # compat_uptr_t * | 1853 | llgtr %r3,%r3 # compat_uptr_t * |
1854 | llgtr %r4,%r4 # compat_uptr_t * | 1854 | llgtr %r4,%r4 # compat_uptr_t * |
1855 | jg sys32_execve # branch to system call | 1855 | jg sys32_execve # branch to system call |
1856 | |||
1857 | .globl sys_fanotify_init_wrapper | ||
1858 | sys_fanotify_init_wrapper: | ||
1859 | llgfr %r2,%r2 # unsigned int | ||
1860 | llgfr %r3,%r3 # unsigned int | ||
1861 | jg sys_fanotify_init # branch to system call | ||
1862 | |||
1863 | .globl sys_fanotify_mark_wrapper | ||
1864 | sys_fanotify_mark_wrapper: | ||
1865 | lgfr %r2,%r2 # int | ||
1866 | llgfr %r3,%r3 # unsigned int | ||
1867 | sllg %r4,%r4,32 # get high word of 64bit mask | ||
1868 | lr %r4,%r5 # get low word of 64bit mask | ||
1869 | llgfr %r5,%r6 # unsigned int | ||
1870 | llgt %r6,164(%r15) # char * | ||
1871 | jg sys_fanotify_mark # branch to system call | ||
1872 | |||
1873 | .globl sys_prlimit64_wrapper | ||
1874 | sys_prlimit64_wrapper: | ||
1875 | lgfr %r2,%r2 # pid_t | ||
1876 | llgfr %r3,%r3 # unsigned int | ||
1877 | llgtr %r4,%r4 # const struct rlimit64 __user * | ||
1878 | llgtr %r5,%r5 # struct rlimit64 __user * | ||
1879 | jg sys_prlimit64 # branch to system call | ||
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index 201ce6bed34e..a8fee1b14395 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S | |||
@@ -340,3 +340,6 @@ SYSCALL(sys_preadv,sys_preadv,compat_sys_preadv_wrapper) | |||
340 | SYSCALL(sys_pwritev,sys_pwritev,compat_sys_pwritev_wrapper) | 340 | SYSCALL(sys_pwritev,sys_pwritev,compat_sys_pwritev_wrapper) |
341 | SYSCALL(sys_rt_tgsigqueueinfo,sys_rt_tgsigqueueinfo,compat_sys_rt_tgsigqueueinfo_wrapper) /* 330 */ | 341 | SYSCALL(sys_rt_tgsigqueueinfo,sys_rt_tgsigqueueinfo,compat_sys_rt_tgsigqueueinfo_wrapper) /* 330 */ |
342 | SYSCALL(sys_perf_event_open,sys_perf_event_open,sys_perf_event_open_wrapper) | 342 | SYSCALL(sys_perf_event_open,sys_perf_event_open,sys_perf_event_open_wrapper) |
343 | SYSCALL(sys_fanotify_init,sys_fanotify_init,sys_fanotify_init_wrapper) | ||
344 | SYSCALL(sys_fanotify_mark,sys_fanotify_mark,sys_fanotify_mark_wrapper) | ||
345 | SYSCALL(sys_prlimit64,sys_prlimit64,sys_prlimit64_wrapper) | ||