aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2014-02-27 11:35:23 -0500
committerHeiko Carstens <heiko.carstens@de.ibm.com>2014-03-04 03:05:42 -0500
commit47b3ae9b8cb0a6778a9920efaf3c47b19b4e6468 (patch)
tree5e087cd9f719a98e7ec61077a5628e1667df3634
parent0ebe3eec1e38bb1253e7542b0e567f0478f7bf4f (diff)
s390/compat: convert system call wrappers to C part 08
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
-rw-r--r--arch/s390/kernel/compat_wrap.c10
-rw-r--r--arch/s390/kernel/compat_wrapper.S56
-rw-r--r--arch/s390/kernel/syscalls.S20
3 files changed, 20 insertions, 66 deletions
diff --git a/arch/s390/kernel/compat_wrap.c b/arch/s390/kernel/compat_wrap.c
index 2e132f998d63..30167722231d 100644
--- a/arch/s390/kernel/compat_wrap.c
+++ b/arch/s390/kernel/compat_wrap.c
@@ -94,3 +94,13 @@ COMPAT_SYSCALL_WRAP2(getcwd, char __user *, buf, u32, size);
94COMPAT_SYSCALL_WRAP2(capget, cap_user_header_t, header, cap_user_data_t, dataptr); 94COMPAT_SYSCALL_WRAP2(capget, cap_user_header_t, header, cap_user_data_t, dataptr);
95COMPAT_SYSCALL_WRAP2(capset, cap_user_header_t, header, const cap_user_data_t, data); 95COMPAT_SYSCALL_WRAP2(capset, cap_user_header_t, header, const cap_user_data_t, data);
96COMPAT_SYSCALL_WRAP3(lchown, const char __user *, filename, compat_uid_t, user, compat_gid_t, group); 96COMPAT_SYSCALL_WRAP3(lchown, const char __user *, filename, compat_uid_t, user, compat_gid_t, group);
97COMPAT_SYSCALL_WRAP2(setreuid, compat_uid_t, ruid, compat_uid_t, euid);
98COMPAT_SYSCALL_WRAP2(setregid, compat_gid_t, rgid, compat_gid_t, egid);
99COMPAT_SYSCALL_WRAP2(getgroups, int, gidsetsize, compat_gid_t __user *, grouplist);
100COMPAT_SYSCALL_WRAP2(setgroups, int, gidsetsize, compat_gid_t __user *, grouplist);
101COMPAT_SYSCALL_WRAP3(fchown, unsigned int, fd, compat_uid_t, user, compat_gid_t, group);
102COMPAT_SYSCALL_WRAP3(setresuid, compat_uid_t, ruid, compat_uid_t, euid, compat_uid_t, suid);
103COMPAT_SYSCALL_WRAP3(getresuid, compat_uid_t __user *, ruid, compat_uid_t __user *, euid, compat_uid_t __user *, suid);
104COMPAT_SYSCALL_WRAP3(setresgid, compat_gid_t, rgid, compat_gid_t, egid, compat_gid_t, sgid);
105COMPAT_SYSCALL_WRAP3(getresgid, compat_gid_t __user *, rgid, compat_gid_t __user *, egid, compat_gid_t __user *, sgid);
106COMPAT_SYSCALL_WRAP3(chown, const char __user *, filename, compat_uid_t, user, compat_gid_t, group);
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S
index ac12c0f1c983..e430f28896a8 100644
--- a/arch/s390/kernel/compat_wrapper.S
+++ b/arch/s390/kernel/compat_wrapper.S
@@ -159,62 +159,6 @@ ENTRY(compat_sys_nanosleep_wrapper)
159 llgtr %r3,%r3 # struct compat_timespec * 159 llgtr %r3,%r3 # struct compat_timespec *
160 jg compat_sys_nanosleep # branch to system call 160 jg compat_sys_nanosleep # branch to system call
161 161
162ENTRY(sys32_setreuid_wrapper)
163 llgfr %r2,%r2 # uid_t
164 llgfr %r3,%r3 # uid_t
165 jg sys_setreuid # branch to system call
166
167ENTRY(sys32_setregid_wrapper)
168 llgfr %r2,%r2 # gid_t
169 llgfr %r3,%r3 # gid_t
170 jg sys_setregid # branch to system call
171
172ENTRY(sys32_getgroups_wrapper)
173 lgfr %r2,%r2 # int
174 llgtr %r3,%r3 # gid_t *
175 jg sys_getgroups # branch to system call
176
177ENTRY(sys32_setgroups_wrapper)
178 lgfr %r2,%r2 # int
179 llgtr %r3,%r3 # gid_t *
180 jg sys_setgroups # branch to system call
181
182ENTRY(sys32_fchown_wrapper)
183 llgfr %r2,%r2 # unsigned int
184 llgfr %r3,%r3 # uid_t
185 llgfr %r4,%r4 # gid_t
186 jg sys_fchown # branch to system call
187
188ENTRY(sys32_setresuid_wrapper)
189 llgfr %r2,%r2 # uid_t
190 llgfr %r3,%r3 # uid_t
191 llgfr %r4,%r4 # uid_t
192 jg sys_setresuid # branch to system call
193
194ENTRY(sys32_getresuid_wrapper)
195 llgtr %r2,%r2 # uid_t *
196 llgtr %r3,%r3 # uid_t *
197 llgtr %r4,%r4 # uid_t *
198 jg sys_getresuid # branch to system call
199
200ENTRY(sys32_setresgid_wrapper)
201 llgfr %r2,%r2 # gid_t
202 llgfr %r3,%r3 # gid_t
203 llgfr %r4,%r4 # gid_t
204 jg sys_setresgid # branch to system call
205
206ENTRY(sys32_getresgid_wrapper)
207 llgtr %r2,%r2 # gid_t *
208 llgtr %r3,%r3 # gid_t *
209 llgtr %r4,%r4 # gid_t *
210 jg sys_getresgid # branch to system call
211
212ENTRY(sys32_chown_wrapper)
213 llgtr %r2,%r2 # const char *
214 llgfr %r3,%r3 # uid_t
215 llgfr %r4,%r4 # gid_t
216 jg sys_chown # branch to system call
217
218ENTRY(sys32_setuid_wrapper) 162ENTRY(sys32_setuid_wrapper)
219 llgfr %r2,%r2 # uid_t 163 llgfr %r2,%r2 # uid_t
220 jg sys_setuid # branch to system call 164 jg sys_setuid # branch to system call
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S
index 775856a77645..609de5ad6a5c 100644
--- a/arch/s390/kernel/syscalls.S
+++ b/arch/s390/kernel/syscalls.S
@@ -211,16 +211,16 @@ SYSCALL(sys_getuid,sys_getuid,sys_getuid)
211SYSCALL(sys_getgid,sys_getgid,sys_getgid) /* 200 */ 211SYSCALL(sys_getgid,sys_getgid,sys_getgid) /* 200 */
212SYSCALL(sys_geteuid,sys_geteuid,sys_geteuid) 212SYSCALL(sys_geteuid,sys_geteuid,sys_geteuid)
213SYSCALL(sys_getegid,sys_getegid,sys_getegid) 213SYSCALL(sys_getegid,sys_getegid,sys_getegid)
214SYSCALL(sys_setreuid,sys_setreuid,sys32_setreuid_wrapper) 214SYSCALL(sys_setreuid,sys_setreuid,compat_sys_setreuid)
215SYSCALL(sys_setregid,sys_setregid,sys32_setregid_wrapper) 215SYSCALL(sys_setregid,sys_setregid,compat_sys_setregid)
216SYSCALL(sys_getgroups,sys_getgroups,sys32_getgroups_wrapper) /* 205 */ 216SYSCALL(sys_getgroups,sys_getgroups,compat_sys_getgroups) /* 205 */
217SYSCALL(sys_setgroups,sys_setgroups,sys32_setgroups_wrapper) 217SYSCALL(sys_setgroups,sys_setgroups,compat_sys_setgroups)
218SYSCALL(sys_fchown,sys_fchown,sys32_fchown_wrapper) 218SYSCALL(sys_fchown,sys_fchown,compat_sys_fchown)
219SYSCALL(sys_setresuid,sys_setresuid,sys32_setresuid_wrapper) 219SYSCALL(sys_setresuid,sys_setresuid,compat_sys_setresuid)
220SYSCALL(sys_getresuid,sys_getresuid,sys32_getresuid_wrapper) 220SYSCALL(sys_getresuid,sys_getresuid,compat_sys_getresuid)
221SYSCALL(sys_setresgid,sys_setresgid,sys32_setresgid_wrapper) /* 210 */ 221SYSCALL(sys_setresgid,sys_setresgid,compat_sys_setresgid) /* 210 */
222SYSCALL(sys_getresgid,sys_getresgid,sys32_getresgid_wrapper) 222SYSCALL(sys_getresgid,sys_getresgid,compat_sys_getresgid)
223SYSCALL(sys_chown,sys_chown,sys32_chown_wrapper) 223SYSCALL(sys_chown,sys_chown,compat_sys_chown)
224SYSCALL(sys_setuid,sys_setuid,sys32_setuid_wrapper) 224SYSCALL(sys_setuid,sys_setuid,sys32_setuid_wrapper)
225SYSCALL(sys_setgid,sys_setgid,sys32_setgid_wrapper) 225SYSCALL(sys_setgid,sys_setgid,sys32_setgid_wrapper)
226SYSCALL(sys_setfsuid,sys_setfsuid,sys32_setfsuid_wrapper) /* 215 */ 226SYSCALL(sys_setfsuid,sys_setfsuid,sys32_setfsuid_wrapper) /* 215 */