diff options
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r-- | arch/s390/kernel/compat_wrapper.S | 26 | ||||
-rw-r--r-- | arch/s390/kernel/entry.h | 2 | ||||
-rw-r--r-- | arch/s390/kernel/sys_s390.c | 4 | ||||
-rw-r--r-- | arch/s390/kernel/syscalls.S | 3 |
4 files changed, 31 insertions, 4 deletions
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index 672ce52341b4..8e60fb23b90d 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S | |||
@@ -614,7 +614,7 @@ sys32_sysfs_wrapper: | |||
614 | 614 | ||
615 | .globl sys32_personality_wrapper | 615 | .globl sys32_personality_wrapper |
616 | sys32_personality_wrapper: | 616 | sys32_personality_wrapper: |
617 | llgfr %r2,%r2 # unsigned long | 617 | llgfr %r2,%r2 # unsigned int |
618 | jg sys_s390_personality # branch to system call | 618 | jg sys_s390_personality # branch to system call |
619 | 619 | ||
620 | .globl sys32_setfsuid16_wrapper | 620 | .globl sys32_setfsuid16_wrapper |
@@ -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/entry.h b/arch/s390/kernel/entry.h index eb15c12ec158..5bb1e6b5db26 100644 --- a/arch/s390/kernel/entry.h +++ b/arch/s390/kernel/entry.h | |||
@@ -31,7 +31,7 @@ struct old_sigaction; | |||
31 | long sys_mmap2(struct s390_mmap_arg_struct __user *arg); | 31 | long sys_mmap2(struct s390_mmap_arg_struct __user *arg); |
32 | long sys_s390_ipc(uint call, int first, unsigned long second, | 32 | long sys_s390_ipc(uint call, int first, unsigned long second, |
33 | unsigned long third, void __user *ptr); | 33 | unsigned long third, void __user *ptr); |
34 | long sys_s390_personality(unsigned long personality); | 34 | long sys_s390_personality(unsigned int personality); |
35 | long sys_s390_fadvise64(int fd, u32 offset_high, u32 offset_low, | 35 | long sys_s390_fadvise64(int fd, u32 offset_high, u32 offset_low, |
36 | size_t len, int advice); | 36 | size_t len, int advice); |
37 | long sys_s390_fadvise64_64(struct fadvise64_64_args __user *args); | 37 | long sys_s390_fadvise64_64(struct fadvise64_64_args __user *args); |
diff --git a/arch/s390/kernel/sys_s390.c b/arch/s390/kernel/sys_s390.c index 7b6b0f81a283..476081440df9 100644 --- a/arch/s390/kernel/sys_s390.c +++ b/arch/s390/kernel/sys_s390.c | |||
@@ -131,9 +131,9 @@ SYSCALL_DEFINE5(s390_ipc, uint, call, int, first, unsigned long, second, | |||
131 | } | 131 | } |
132 | 132 | ||
133 | #ifdef CONFIG_64BIT | 133 | #ifdef CONFIG_64BIT |
134 | SYSCALL_DEFINE1(s390_personality, unsigned long, personality) | 134 | SYSCALL_DEFINE1(s390_personality, unsigned int, personality) |
135 | { | 135 | { |
136 | int ret; | 136 | unsigned int ret; |
137 | 137 | ||
138 | if (current->personality == PER_LINUX32 && personality == PER_LINUX) | 138 | if (current->personality == PER_LINUX32 && personality == PER_LINUX) |
139 | personality = PER_LINUX32; | 139 | personality = PER_LINUX32; |
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) | ||