diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-02-28 07:46:09 -0500 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-03-04 03:05:45 -0500 |
commit | 20f7835c0e1836ba73516abac06725155d2149d2 (patch) | |
tree | b831db4ca21eb8fb3ed37b51bbe91d391d1ae7f8 | |
parent | 9c4d62fab4d29655a5ab198f3756693481a6b2da (diff) |
s390/compat: convert system call wrappers to C part 12
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 | 66 | ||||
-rw-r--r-- | arch/s390/kernel/syscalls.S | 20 |
3 files changed, 20 insertions, 76 deletions
diff --git a/arch/s390/kernel/compat_wrap.c b/arch/s390/kernel/compat_wrap.c index 76d714e11370..a89daaf1e042 100644 --- a/arch/s390/kernel/compat_wrap.c +++ b/arch/s390/kernel/compat_wrap.c | |||
@@ -134,3 +134,13 @@ COMPAT_SYSCALL_WRAP1(timer_delete, compat_timer_t, compat_timer_id); | |||
134 | COMPAT_SYSCALL_WRAP1(io_destroy, compat_aio_context_t, ctx); | 134 | COMPAT_SYSCALL_WRAP1(io_destroy, compat_aio_context_t, ctx); |
135 | COMPAT_SYSCALL_WRAP3(io_cancel, compat_aio_context_t, ctx_id, struct iocb __user *, iocb, struct io_event __user *, result); | 135 | COMPAT_SYSCALL_WRAP3(io_cancel, compat_aio_context_t, ctx_id, struct iocb __user *, iocb, struct io_event __user *, result); |
136 | COMPAT_SYSCALL_WRAP1(mq_unlink, const char __user *, name); | 136 | COMPAT_SYSCALL_WRAP1(mq_unlink, const char __user *, name); |
137 | COMPAT_SYSCALL_WRAP5(add_key, const char __user *, tp, const char __user *, dsc, const void __user *, pld, compat_size_t, len, key_serial_t, id); | ||
138 | COMPAT_SYSCALL_WRAP4(request_key, const char __user *, tp, const char __user *, dsc, const char __user *, info, key_serial_t, id); | ||
139 | COMPAT_SYSCALL_WRAP5(remap_file_pages, u32, start, u32, size, u32, prot, u32, pgoff, u32, flags); | ||
140 | COMPAT_SYSCALL_WRAP3(ioprio_set, int, which, int, who, int, ioprio); | ||
141 | COMPAT_SYSCALL_WRAP2(ioprio_get, int, which, int, who); | ||
142 | COMPAT_SYSCALL_WRAP3(inotify_add_watch, int, fd, const char __user *, path, u32, mask); | ||
143 | COMPAT_SYSCALL_WRAP2(inotify_rm_watch, int, fd, __s32, wd); | ||
144 | COMPAT_SYSCALL_WRAP3(mkdirat, int, dfd, const char __user *, pathname, umode_t, mode); | ||
145 | COMPAT_SYSCALL_WRAP4(mknodat, int, dfd, const char __user *, filename, umode_t, mode, unsigned, dev); | ||
146 | COMPAT_SYSCALL_WRAP5(fchownat, int, dfd, const char __user *, filename, compat_uid_t, user, compat_gid_t, group, int, flag); | ||
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index 9ada8fbcb8cc..74b81288a0c1 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S | |||
@@ -286,29 +286,6 @@ ENTRY(compat_sys_mq_getsetattr_wrapper) | |||
286 | llgtr %r4,%r4 # struct compat_mq_attr * | 286 | llgtr %r4,%r4 # struct compat_mq_attr * |
287 | jg compat_sys_mq_getsetattr | 287 | jg compat_sys_mq_getsetattr |
288 | 288 | ||
289 | ENTRY(compat_sys_add_key_wrapper) | ||
290 | llgtr %r2,%r2 # const char * | ||
291 | llgtr %r3,%r3 # const char * | ||
292 | llgtr %r4,%r4 # const void * | ||
293 | llgfr %r5,%r5 # size_t | ||
294 | llgfr %r6,%r6 # (key_serial_t) u32 | ||
295 | jg sys_add_key | ||
296 | |||
297 | ENTRY(compat_sys_request_key_wrapper) | ||
298 | llgtr %r2,%r2 # const char * | ||
299 | llgtr %r3,%r3 # const char * | ||
300 | llgtr %r4,%r4 # const void * | ||
301 | llgfr %r5,%r5 # (key_serial_t) u32 | ||
302 | jg sys_request_key | ||
303 | |||
304 | ENTRY(sys32_remap_file_pages_wrapper) | ||
305 | llgfr %r2,%r2 # unsigned long | ||
306 | llgfr %r3,%r3 # unsigned long | ||
307 | llgfr %r4,%r4 # unsigned long | ||
308 | llgfr %r5,%r5 # unsigned long | ||
309 | llgfr %r6,%r6 # unsigned long | ||
310 | jg sys_remap_file_pages | ||
311 | |||
312 | ENTRY(compat_sys_kexec_load_wrapper) | 289 | ENTRY(compat_sys_kexec_load_wrapper) |
313 | llgfr %r2,%r2 # unsigned long | 290 | llgfr %r2,%r2 # unsigned long |
314 | llgfr %r3,%r3 # unsigned long | 291 | llgfr %r3,%r3 # unsigned long |
@@ -316,49 +293,6 @@ ENTRY(compat_sys_kexec_load_wrapper) | |||
316 | llgfr %r5,%r5 # unsigned long | 293 | llgfr %r5,%r5 # unsigned long |
317 | jg compat_sys_kexec_load | 294 | jg compat_sys_kexec_load |
318 | 295 | ||
319 | ENTRY(sys_ioprio_set_wrapper) | ||
320 | lgfr %r2,%r2 # int | ||
321 | lgfr %r3,%r3 # int | ||
322 | lgfr %r4,%r4 # int | ||
323 | jg sys_ioprio_set | ||
324 | |||
325 | ENTRY(sys_ioprio_get_wrapper) | ||
326 | lgfr %r2,%r2 # int | ||
327 | lgfr %r3,%r3 # int | ||
328 | jg sys_ioprio_get | ||
329 | |||
330 | ENTRY(sys_inotify_add_watch_wrapper) | ||
331 | lgfr %r2,%r2 # int | ||
332 | llgtr %r3,%r3 # const char * | ||
333 | llgfr %r4,%r4 # u32 | ||
334 | jg sys_inotify_add_watch | ||
335 | |||
336 | ENTRY(sys_inotify_rm_watch_wrapper) | ||
337 | lgfr %r2,%r2 # int | ||
338 | llgfr %r3,%r3 # u32 | ||
339 | jg sys_inotify_rm_watch | ||
340 | |||
341 | ENTRY(sys_mkdirat_wrapper) | ||
342 | lgfr %r2,%r2 # int | ||
343 | llgtr %r3,%r3 # const char * | ||
344 | lgfr %r4,%r4 # int | ||
345 | jg sys_mkdirat | ||
346 | |||
347 | ENTRY(sys_mknodat_wrapper) | ||
348 | lgfr %r2,%r2 # int | ||
349 | llgtr %r3,%r3 # const char * | ||
350 | lgfr %r4,%r4 # int | ||
351 | llgfr %r5,%r5 # unsigned int | ||
352 | jg sys_mknodat | ||
353 | |||
354 | ENTRY(sys_fchownat_wrapper) | ||
355 | lgfr %r2,%r2 # int | ||
356 | llgtr %r3,%r3 # const char * | ||
357 | llgfr %r4,%r4 # uid_t | ||
358 | llgfr %r5,%r5 # gid_t | ||
359 | lgfr %r6,%r6 # int | ||
360 | jg sys_fchownat | ||
361 | |||
362 | ENTRY(compat_sys_futimesat_wrapper) | 296 | ENTRY(compat_sys_futimesat_wrapper) |
363 | llgfr %r2,%r2 # unsigned int | 297 | llgfr %r2,%r2 # unsigned int |
364 | llgtr %r3,%r3 # char * | 298 | llgtr %r3,%r3 # char * |
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index 927da9cb4d35..dbc9e4166a8e 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S | |||
@@ -275,7 +275,7 @@ NI_SYSCALL /* reserved for vserver */ | |||
275 | SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,compat_sys_s390_fadvise64_64) | 275 | SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,compat_sys_s390_fadvise64_64) |
276 | SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper) | 276 | SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper) |
277 | SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper) | 277 | SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper) |
278 | SYSCALL(sys_remap_file_pages,sys_remap_file_pages,sys32_remap_file_pages_wrapper) | 278 | SYSCALL(sys_remap_file_pages,sys_remap_file_pages,compat_sys_remap_file_pages) |
279 | NI_SYSCALL /* 268 sys_mbind */ | 279 | NI_SYSCALL /* 268 sys_mbind */ |
280 | NI_SYSCALL /* 269 sys_get_mempolicy */ | 280 | NI_SYSCALL /* 269 sys_get_mempolicy */ |
281 | NI_SYSCALL /* 270 sys_set_mempolicy */ | 281 | NI_SYSCALL /* 270 sys_set_mempolicy */ |
@@ -286,20 +286,20 @@ SYSCALL(sys_mq_timedreceive,sys_mq_timedreceive,compat_sys_mq_timedreceive_wrapp | |||
286 | SYSCALL(sys_mq_notify,sys_mq_notify,compat_sys_mq_notify_wrapper) /* 275 */ | 286 | SYSCALL(sys_mq_notify,sys_mq_notify,compat_sys_mq_notify_wrapper) /* 275 */ |
287 | SYSCALL(sys_mq_getsetattr,sys_mq_getsetattr,compat_sys_mq_getsetattr_wrapper) | 287 | SYSCALL(sys_mq_getsetattr,sys_mq_getsetattr,compat_sys_mq_getsetattr_wrapper) |
288 | SYSCALL(sys_kexec_load,sys_kexec_load,compat_sys_kexec_load_wrapper) | 288 | SYSCALL(sys_kexec_load,sys_kexec_load,compat_sys_kexec_load_wrapper) |
289 | SYSCALL(sys_add_key,sys_add_key,compat_sys_add_key_wrapper) | 289 | SYSCALL(sys_add_key,sys_add_key,compat_sys_add_key) |
290 | SYSCALL(sys_request_key,sys_request_key,compat_sys_request_key_wrapper) | 290 | SYSCALL(sys_request_key,sys_request_key,compat_sys_request_key) |
291 | SYSCALL(sys_keyctl,sys_keyctl,compat_sys_keyctl_wrapper) /* 280 */ | 291 | SYSCALL(sys_keyctl,sys_keyctl,compat_sys_keyctl_wrapper) /* 280 */ |
292 | SYSCALL(sys_waitid,sys_waitid,compat_sys_waitid) | 292 | SYSCALL(sys_waitid,sys_waitid,compat_sys_waitid) |
293 | SYSCALL(sys_ioprio_set,sys_ioprio_set,sys_ioprio_set_wrapper) | 293 | SYSCALL(sys_ioprio_set,sys_ioprio_set,compat_sys_ioprio_set) |
294 | SYSCALL(sys_ioprio_get,sys_ioprio_get,sys_ioprio_get_wrapper) | 294 | SYSCALL(sys_ioprio_get,sys_ioprio_get,compat_sys_ioprio_get) |
295 | SYSCALL(sys_inotify_init,sys_inotify_init,sys_inotify_init) | 295 | SYSCALL(sys_inotify_init,sys_inotify_init,sys_inotify_init) |
296 | SYSCALL(sys_inotify_add_watch,sys_inotify_add_watch,sys_inotify_add_watch_wrapper) /* 285 */ | 296 | SYSCALL(sys_inotify_add_watch,sys_inotify_add_watch,compat_sys_inotify_add_watch) /* 285 */ |
297 | SYSCALL(sys_inotify_rm_watch,sys_inotify_rm_watch,sys_inotify_rm_watch_wrapper) | 297 | SYSCALL(sys_inotify_rm_watch,sys_inotify_rm_watch,compat_sys_inotify_rm_watch) |
298 | NI_SYSCALL /* 287 sys_migrate_pages */ | 298 | NI_SYSCALL /* 287 sys_migrate_pages */ |
299 | SYSCALL(sys_openat,sys_openat,compat_sys_openat) | 299 | SYSCALL(sys_openat,sys_openat,compat_sys_openat) |
300 | SYSCALL(sys_mkdirat,sys_mkdirat,sys_mkdirat_wrapper) | 300 | SYSCALL(sys_mkdirat,sys_mkdirat,compat_sys_mkdirat) |
301 | SYSCALL(sys_mknodat,sys_mknodat,sys_mknodat_wrapper) /* 290 */ | 301 | SYSCALL(sys_mknodat,sys_mknodat,compat_sys_mknodat) /* 290 */ |
302 | SYSCALL(sys_fchownat,sys_fchownat,sys_fchownat_wrapper) | 302 | SYSCALL(sys_fchownat,sys_fchownat,compat_sys_fchownat) |
303 | SYSCALL(sys_futimesat,sys_futimesat,compat_sys_futimesat_wrapper) | 303 | SYSCALL(sys_futimesat,sys_futimesat,compat_sys_futimesat_wrapper) |
304 | SYSCALL(sys_fstatat64,sys_newfstatat,compat_sys_s390_fstatat64) | 304 | SYSCALL(sys_fstatat64,sys_newfstatat,compat_sys_s390_fstatat64) |
305 | SYSCALL(sys_unlinkat,sys_unlinkat,sys_unlinkat_wrapper) | 305 | SYSCALL(sys_unlinkat,sys_unlinkat,sys_unlinkat_wrapper) |