aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2014-02-26 04:58:09 -0500
committerHeiko Carstens <heiko.carstens@de.ibm.com>2014-03-04 03:05:36 -0500
commite723e0cc17f8d8573b19a809277d81cecdd6e92b (patch)
treedc0d38b2a992df7299cda1ac64c2bfff73d7caa4
parent4ca2ea58c8421784bdad43b05e9939549e4d34e9 (diff)
s390/compat: convert to COMPAT_SYSCALL_DEFINEx part 4
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
-rw-r--r--arch/s390/kernel/compat_linux.c15
-rw-r--r--arch/s390/kernel/compat_linux.h11
-rw-r--r--arch/s390/kernel/compat_wrapper.S14
-rw-r--r--arch/s390/kernel/syscalls.S10
4 files changed, 16 insertions, 34 deletions
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c
index 65b5acbd375b..79571343bc75 100644
--- a/arch/s390/kernel/compat_linux.c
+++ b/arch/s390/kernel/compat_linux.c
@@ -269,22 +269,22 @@ COMPAT_SYSCALL_DEFINE2(s390_setgroups16, int, gidsetsize, u16 __user *, grouplis
269 return retval; 269 return retval;
270} 270}
271 271
272asmlinkage long sys32_getuid16(void) 272COMPAT_SYSCALL_DEFINE0(s390_getuid16)
273{ 273{
274 return high2lowuid(from_kuid_munged(current_user_ns(), current_uid())); 274 return high2lowuid(from_kuid_munged(current_user_ns(), current_uid()));
275} 275}
276 276
277asmlinkage long sys32_geteuid16(void) 277COMPAT_SYSCALL_DEFINE0(s390_geteuid16)
278{ 278{
279 return high2lowuid(from_kuid_munged(current_user_ns(), current_euid())); 279 return high2lowuid(from_kuid_munged(current_user_ns(), current_euid()));
280} 280}
281 281
282asmlinkage long sys32_getgid16(void) 282COMPAT_SYSCALL_DEFINE0(s390_getgid16)
283{ 283{
284 return high2lowgid(from_kgid_munged(current_user_ns(), current_gid())); 284 return high2lowgid(from_kgid_munged(current_user_ns(), current_gid()));
285} 285}
286 286
287asmlinkage long sys32_getegid16(void) 287COMPAT_SYSCALL_DEFINE0(s390_getegid16)
288{ 288{
289 return high2lowgid(from_kgid_munged(current_user_ns(), current_egid())); 289 return high2lowgid(from_kgid_munged(current_user_ns(), current_egid()));
290} 290}
@@ -299,12 +299,9 @@ COMPAT_SYSCALL_DEFINE5(s390_ipc, uint, call, int, first, compat_ulong_t, second,
299} 299}
300#endif 300#endif
301 301
302asmlinkage long sys32_truncate64(const char __user * path, unsigned long high, unsigned long low) 302COMPAT_SYSCALL_DEFINE3(s390_truncate64, const char __user *, path, u32, high, u32, low)
303{ 303{
304 if ((int)high < 0) 304 return sys_truncate(path, (unsigned long)high << 32 | low);
305 return -EINVAL;
306 else
307 return sys_truncate(path, (high << 32) | low);
308} 305}
309 306
310asmlinkage long sys32_ftruncate64(unsigned int fd, unsigned long high, unsigned long low) 307asmlinkage long sys32_ftruncate64(unsigned int fd, unsigned long high, unsigned long low)
diff --git a/arch/s390/kernel/compat_linux.h b/arch/s390/kernel/compat_linux.h
index 766867230d26..3e03325d0e95 100644
--- a/arch/s390/kernel/compat_linux.h
+++ b/arch/s390/kernel/compat_linux.h
@@ -91,12 +91,11 @@ long compat_sys_s390_setfsuid16(u16 uid);
91long compat_sys_s390_setfsgid16(u16 gid); 91long compat_sys_s390_setfsgid16(u16 gid);
92long compat_sys_s390_getgroups16(int gidsetsize, u16 __user *grouplist); 92long compat_sys_s390_getgroups16(int gidsetsize, u16 __user *grouplist);
93long compat_sys_s390_setgroups16(int gidsetsize, u16 __user *grouplist); 93long compat_sys_s390_setgroups16(int gidsetsize, u16 __user *grouplist);
94long sys32_getuid16(void); 94long compat_sys_s390_getuid16(void);
95long sys32_geteuid16(void); 95long compat_sys_s390_geteuid16(void);
96long sys32_getgid16(void); 96long compat_sys_s390_getgid16(void);
97long sys32_getegid16(void); 97long compat_sys_s390_getegid16(void);
98long sys32_truncate64(const char __user * path, unsigned long high, 98long compat_sys_s390_truncate64(const char __user *path, u32 high, u32 low);
99 unsigned long low);
100long sys32_ftruncate64(unsigned int fd, unsigned long high, unsigned long low); 99long sys32_ftruncate64(unsigned int fd, unsigned long high, unsigned long low);
101long sys32_init_module(void __user *umod, unsigned long len, 100long sys32_init_module(void __user *umod, unsigned long len,
102 const char __user *uargs); 101 const char __user *uargs);
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S
index 6c55523acf29..9128f7b87e80 100644
--- a/arch/s390/kernel/compat_wrapper.S
+++ b/arch/s390/kernel/compat_wrapper.S
@@ -75,8 +75,6 @@ ENTRY(sys32_oldumount_wrapper)
75 llgtr %r2,%r2 # char * 75 llgtr %r2,%r2 # char *
76 jg sys_oldumount # branch to system call 76 jg sys_oldumount # branch to system call
77 77
78#sys32_getuid16_wrapper # void
79
80ENTRY(sys32_ptrace_wrapper) 78ENTRY(sys32_ptrace_wrapper)
81 lgfr %r2,%r2 # long 79 lgfr %r2,%r2 # long
82 lgfr %r3,%r3 # long 80 lgfr %r3,%r3 # long
@@ -139,17 +137,11 @@ ENTRY(sys32_brk_wrapper)
139 llgtr %r2,%r2 # unsigned long 137 llgtr %r2,%r2 # unsigned long
140 jg sys_brk # branch to system call 138 jg sys_brk # branch to system call
141 139
142#sys32_getgid16_wrapper # void
143
144ENTRY(sys32_signal_wrapper) 140ENTRY(sys32_signal_wrapper)
145 lgfr %r2,%r2 # int 141 lgfr %r2,%r2 # int
146 llgtr %r3,%r3 # __sighandler_t 142 llgtr %r3,%r3 # __sighandler_t
147 jg sys_signal 143 jg sys_signal
148 144
149#sys32_geteuid16_wrapper # void
150
151#sys32_getegid16_wrapper # void
152
153ENTRY(sys32_acct_wrapper) 145ENTRY(sys32_acct_wrapper)
154 llgtr %r2,%r2 # char * 146 llgtr %r2,%r2 # char *
155 jg sys_acct # branch to system call 147 jg sys_acct # branch to system call
@@ -577,12 +569,6 @@ ENTRY(sys32_capset_wrapper)
577 569
578#sys32_vfork_wrapper # done in vfork_glue 570#sys32_vfork_wrapper # done in vfork_glue
579 571
580ENTRY(sys32_truncate64_wrapper)
581 llgtr %r2,%r2 # const char *
582 llgfr %r3,%r3 # unsigned long
583 llgfr %r4,%r4 # unsigned long
584 jg sys32_truncate64 # branch to system call
585
586ENTRY(sys32_ftruncate64_wrapper) 572ENTRY(sys32_ftruncate64_wrapper)
587 llgfr %r2,%r2 # unsigned int 573 llgfr %r2,%r2 # unsigned int
588 llgfr %r3,%r3 # unsigned long 574 llgfr %r3,%r3 # unsigned long
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S
index bdba42a35ec6..fa17cefe40e2 100644
--- a/arch/s390/kernel/syscalls.S
+++ b/arch/s390/kernel/syscalls.S
@@ -32,7 +32,7 @@ SYSCALL(sys_getpid,sys_getpid,sys_getpid) /* 20 */
32SYSCALL(sys_mount,sys_mount,sys32_mount_wrapper) 32SYSCALL(sys_mount,sys_mount,sys32_mount_wrapper)
33SYSCALL(sys_oldumount,sys_oldumount,sys32_oldumount_wrapper) 33SYSCALL(sys_oldumount,sys_oldumount,sys32_oldumount_wrapper)
34SYSCALL(sys_setuid16,sys_ni_syscall,compat_sys_s390_setuid16) /* old setuid16 syscall*/ 34SYSCALL(sys_setuid16,sys_ni_syscall,compat_sys_s390_setuid16) /* old setuid16 syscall*/
35SYSCALL(sys_getuid16,sys_ni_syscall,sys32_getuid16) /* old getuid16 syscall*/ 35SYSCALL(sys_getuid16,sys_ni_syscall,compat_sys_s390_getuid16) /* old getuid16 syscall*/
36SYSCALL(sys_stime,sys_ni_syscall,sys32_stime_wrapper) /* 25 old stime syscall */ 36SYSCALL(sys_stime,sys_ni_syscall,sys32_stime_wrapper) /* 25 old stime syscall */
37SYSCALL(sys_ptrace,sys_ptrace,sys32_ptrace_wrapper) 37SYSCALL(sys_ptrace,sys_ptrace,sys32_ptrace_wrapper)
38SYSCALL(sys_alarm,sys_alarm,sys32_alarm_wrapper) 38SYSCALL(sys_alarm,sys_alarm,sys32_alarm_wrapper)
@@ -55,10 +55,10 @@ SYSCALL(sys_times,sys_times,compat_sys_times_wrapper)
55NI_SYSCALL /* old prof syscall */ 55NI_SYSCALL /* old prof syscall */
56SYSCALL(sys_brk,sys_brk,sys32_brk_wrapper) /* 45 */ 56SYSCALL(sys_brk,sys_brk,sys32_brk_wrapper) /* 45 */
57SYSCALL(sys_setgid16,sys_ni_syscall,compat_sys_s390_setgid16) /* old setgid16 syscall*/ 57SYSCALL(sys_setgid16,sys_ni_syscall,compat_sys_s390_setgid16) /* old setgid16 syscall*/
58SYSCALL(sys_getgid16,sys_ni_syscall,sys32_getgid16) /* old getgid16 syscall*/ 58SYSCALL(sys_getgid16,sys_ni_syscall,compat_sys_s390_getgid16) /* old getgid16 syscall*/
59SYSCALL(sys_signal,sys_signal,sys32_signal_wrapper) 59SYSCALL(sys_signal,sys_signal,sys32_signal_wrapper)
60SYSCALL(sys_geteuid16,sys_ni_syscall,sys32_geteuid16) /* old geteuid16 syscall */ 60SYSCALL(sys_geteuid16,sys_ni_syscall,compat_sys_s390_geteuid16) /* old geteuid16 syscall */
61SYSCALL(sys_getegid16,sys_ni_syscall,sys32_getegid16) /* 50 old getegid16 syscall */ 61SYSCALL(sys_getegid16,sys_ni_syscall,compat_sys_s390_getegid16) /* 50 old getegid16 syscall */
62SYSCALL(sys_acct,sys_acct,sys32_acct_wrapper) 62SYSCALL(sys_acct,sys_acct,sys32_acct_wrapper)
63SYSCALL(sys_umount,sys_umount,sys32_umount_wrapper) 63SYSCALL(sys_umount,sys_umount,sys32_umount_wrapper)
64NI_SYSCALL /* old lock syscall */ 64NI_SYSCALL /* old lock syscall */
@@ -201,7 +201,7 @@ NI_SYSCALL /* streams2 */
201SYSCALL(sys_vfork,sys_vfork,sys_vfork) /* 190 */ 201SYSCALL(sys_vfork,sys_vfork,sys_vfork) /* 190 */
202SYSCALL(sys_getrlimit,sys_getrlimit,compat_sys_getrlimit_wrapper) 202SYSCALL(sys_getrlimit,sys_getrlimit,compat_sys_getrlimit_wrapper)
203SYSCALL(sys_mmap2,sys_mmap2,sys32_mmap2_wrapper) 203SYSCALL(sys_mmap2,sys_mmap2,sys32_mmap2_wrapper)
204SYSCALL(sys_truncate64,sys_ni_syscall,sys32_truncate64_wrapper) 204SYSCALL(sys_truncate64,sys_ni_syscall,compat_sys_s390_truncate64)
205SYSCALL(sys_ftruncate64,sys_ni_syscall,sys32_ftruncate64_wrapper) 205SYSCALL(sys_ftruncate64,sys_ni_syscall,sys32_ftruncate64_wrapper)
206SYSCALL(sys_stat64,sys_ni_syscall,sys32_stat64_wrapper) /* 195 */ 206SYSCALL(sys_stat64,sys_ni_syscall,sys32_stat64_wrapper) /* 195 */
207SYSCALL(sys_lstat64,sys_ni_syscall,sys32_lstat64_wrapper) 207SYSCALL(sys_lstat64,sys_ni_syscall,sys32_lstat64_wrapper)