diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-02-27 11:35:23 -0500 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-03-04 03:05:42 -0500 |
commit | 47b3ae9b8cb0a6778a9920efaf3c47b19b4e6468 (patch) | |
tree | 5e087cd9f719a98e7ec61077a5628e1667df3634 | |
parent | 0ebe3eec1e38bb1253e7542b0e567f0478f7bf4f (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.c | 10 | ||||
-rw-r--r-- | arch/s390/kernel/compat_wrapper.S | 56 | ||||
-rw-r--r-- | arch/s390/kernel/syscalls.S | 20 |
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); | |||
94 | COMPAT_SYSCALL_WRAP2(capget, cap_user_header_t, header, cap_user_data_t, dataptr); | 94 | COMPAT_SYSCALL_WRAP2(capget, cap_user_header_t, header, cap_user_data_t, dataptr); |
95 | COMPAT_SYSCALL_WRAP2(capset, cap_user_header_t, header, const cap_user_data_t, data); | 95 | COMPAT_SYSCALL_WRAP2(capset, cap_user_header_t, header, const cap_user_data_t, data); |
96 | COMPAT_SYSCALL_WRAP3(lchown, const char __user *, filename, compat_uid_t, user, compat_gid_t, group); | 96 | COMPAT_SYSCALL_WRAP3(lchown, const char __user *, filename, compat_uid_t, user, compat_gid_t, group); |
97 | COMPAT_SYSCALL_WRAP2(setreuid, compat_uid_t, ruid, compat_uid_t, euid); | ||
98 | COMPAT_SYSCALL_WRAP2(setregid, compat_gid_t, rgid, compat_gid_t, egid); | ||
99 | COMPAT_SYSCALL_WRAP2(getgroups, int, gidsetsize, compat_gid_t __user *, grouplist); | ||
100 | COMPAT_SYSCALL_WRAP2(setgroups, int, gidsetsize, compat_gid_t __user *, grouplist); | ||
101 | COMPAT_SYSCALL_WRAP3(fchown, unsigned int, fd, compat_uid_t, user, compat_gid_t, group); | ||
102 | COMPAT_SYSCALL_WRAP3(setresuid, compat_uid_t, ruid, compat_uid_t, euid, compat_uid_t, suid); | ||
103 | COMPAT_SYSCALL_WRAP3(getresuid, compat_uid_t __user *, ruid, compat_uid_t __user *, euid, compat_uid_t __user *, suid); | ||
104 | COMPAT_SYSCALL_WRAP3(setresgid, compat_gid_t, rgid, compat_gid_t, egid, compat_gid_t, sgid); | ||
105 | COMPAT_SYSCALL_WRAP3(getresgid, compat_gid_t __user *, rgid, compat_gid_t __user *, egid, compat_gid_t __user *, sgid); | ||
106 | COMPAT_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 | ||
162 | ENTRY(sys32_setreuid_wrapper) | ||
163 | llgfr %r2,%r2 # uid_t | ||
164 | llgfr %r3,%r3 # uid_t | ||
165 | jg sys_setreuid # branch to system call | ||
166 | |||
167 | ENTRY(sys32_setregid_wrapper) | ||
168 | llgfr %r2,%r2 # gid_t | ||
169 | llgfr %r3,%r3 # gid_t | ||
170 | jg sys_setregid # branch to system call | ||
171 | |||
172 | ENTRY(sys32_getgroups_wrapper) | ||
173 | lgfr %r2,%r2 # int | ||
174 | llgtr %r3,%r3 # gid_t * | ||
175 | jg sys_getgroups # branch to system call | ||
176 | |||
177 | ENTRY(sys32_setgroups_wrapper) | ||
178 | lgfr %r2,%r2 # int | ||
179 | llgtr %r3,%r3 # gid_t * | ||
180 | jg sys_setgroups # branch to system call | ||
181 | |||
182 | ENTRY(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 | |||
188 | ENTRY(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 | |||
194 | ENTRY(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 | |||
200 | ENTRY(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 | |||
206 | ENTRY(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 | |||
212 | ENTRY(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 | |||
218 | ENTRY(sys32_setuid_wrapper) | 162 | ENTRY(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) | |||
211 | SYSCALL(sys_getgid,sys_getgid,sys_getgid) /* 200 */ | 211 | SYSCALL(sys_getgid,sys_getgid,sys_getgid) /* 200 */ |
212 | SYSCALL(sys_geteuid,sys_geteuid,sys_geteuid) | 212 | SYSCALL(sys_geteuid,sys_geteuid,sys_geteuid) |
213 | SYSCALL(sys_getegid,sys_getegid,sys_getegid) | 213 | SYSCALL(sys_getegid,sys_getegid,sys_getegid) |
214 | SYSCALL(sys_setreuid,sys_setreuid,sys32_setreuid_wrapper) | 214 | SYSCALL(sys_setreuid,sys_setreuid,compat_sys_setreuid) |
215 | SYSCALL(sys_setregid,sys_setregid,sys32_setregid_wrapper) | 215 | SYSCALL(sys_setregid,sys_setregid,compat_sys_setregid) |
216 | SYSCALL(sys_getgroups,sys_getgroups,sys32_getgroups_wrapper) /* 205 */ | 216 | SYSCALL(sys_getgroups,sys_getgroups,compat_sys_getgroups) /* 205 */ |
217 | SYSCALL(sys_setgroups,sys_setgroups,sys32_setgroups_wrapper) | 217 | SYSCALL(sys_setgroups,sys_setgroups,compat_sys_setgroups) |
218 | SYSCALL(sys_fchown,sys_fchown,sys32_fchown_wrapper) | 218 | SYSCALL(sys_fchown,sys_fchown,compat_sys_fchown) |
219 | SYSCALL(sys_setresuid,sys_setresuid,sys32_setresuid_wrapper) | 219 | SYSCALL(sys_setresuid,sys_setresuid,compat_sys_setresuid) |
220 | SYSCALL(sys_getresuid,sys_getresuid,sys32_getresuid_wrapper) | 220 | SYSCALL(sys_getresuid,sys_getresuid,compat_sys_getresuid) |
221 | SYSCALL(sys_setresgid,sys_setresgid,sys32_setresgid_wrapper) /* 210 */ | 221 | SYSCALL(sys_setresgid,sys_setresgid,compat_sys_setresgid) /* 210 */ |
222 | SYSCALL(sys_getresgid,sys_getresgid,sys32_getresgid_wrapper) | 222 | SYSCALL(sys_getresgid,sys_getresgid,compat_sys_getresgid) |
223 | SYSCALL(sys_chown,sys_chown,sys32_chown_wrapper) | 223 | SYSCALL(sys_chown,sys_chown,compat_sys_chown) |
224 | SYSCALL(sys_setuid,sys_setuid,sys32_setuid_wrapper) | 224 | SYSCALL(sys_setuid,sys_setuid,sys32_setuid_wrapper) |
225 | SYSCALL(sys_setgid,sys_setgid,sys32_setgid_wrapper) | 225 | SYSCALL(sys_setgid,sys_setgid,sys32_setgid_wrapper) |
226 | SYSCALL(sys_setfsuid,sys_setfsuid,sys32_setfsuid_wrapper) /* 215 */ | 226 | SYSCALL(sys_setfsuid,sys_setfsuid,sys32_setfsuid_wrapper) /* 215 */ |