aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2014-02-28 07:46:09 -0500
committerHeiko Carstens <heiko.carstens@de.ibm.com>2014-03-04 03:05:45 -0500
commit20f7835c0e1836ba73516abac06725155d2149d2 (patch)
treeb831db4ca21eb8fb3ed37b51bbe91d391d1ae7f8
parent9c4d62fab4d29655a5ab198f3756693481a6b2da (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.c10
-rw-r--r--arch/s390/kernel/compat_wrapper.S66
-rw-r--r--arch/s390/kernel/syscalls.S20
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);
134COMPAT_SYSCALL_WRAP1(io_destroy, compat_aio_context_t, ctx); 134COMPAT_SYSCALL_WRAP1(io_destroy, compat_aio_context_t, ctx);
135COMPAT_SYSCALL_WRAP3(io_cancel, compat_aio_context_t, ctx_id, struct iocb __user *, iocb, struct io_event __user *, result); 135COMPAT_SYSCALL_WRAP3(io_cancel, compat_aio_context_t, ctx_id, struct iocb __user *, iocb, struct io_event __user *, result);
136COMPAT_SYSCALL_WRAP1(mq_unlink, const char __user *, name); 136COMPAT_SYSCALL_WRAP1(mq_unlink, const char __user *, name);
137COMPAT_SYSCALL_WRAP5(add_key, const char __user *, tp, const char __user *, dsc, const void __user *, pld, compat_size_t, len, key_serial_t, id);
138COMPAT_SYSCALL_WRAP4(request_key, const char __user *, tp, const char __user *, dsc, const char __user *, info, key_serial_t, id);
139COMPAT_SYSCALL_WRAP5(remap_file_pages, u32, start, u32, size, u32, prot, u32, pgoff, u32, flags);
140COMPAT_SYSCALL_WRAP3(ioprio_set, int, which, int, who, int, ioprio);
141COMPAT_SYSCALL_WRAP2(ioprio_get, int, which, int, who);
142COMPAT_SYSCALL_WRAP3(inotify_add_watch, int, fd, const char __user *, path, u32, mask);
143COMPAT_SYSCALL_WRAP2(inotify_rm_watch, int, fd, __s32, wd);
144COMPAT_SYSCALL_WRAP3(mkdirat, int, dfd, const char __user *, pathname, umode_t, mode);
145COMPAT_SYSCALL_WRAP4(mknodat, int, dfd, const char __user *, filename, umode_t, mode, unsigned, dev);
146COMPAT_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
289ENTRY(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
297ENTRY(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
304ENTRY(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
312ENTRY(compat_sys_kexec_load_wrapper) 289ENTRY(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
319ENTRY(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
325ENTRY(sys_ioprio_get_wrapper)
326 lgfr %r2,%r2 # int
327 lgfr %r3,%r3 # int
328 jg sys_ioprio_get
329
330ENTRY(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
336ENTRY(sys_inotify_rm_watch_wrapper)
337 lgfr %r2,%r2 # int
338 llgfr %r3,%r3 # u32
339 jg sys_inotify_rm_watch
340
341ENTRY(sys_mkdirat_wrapper)
342 lgfr %r2,%r2 # int
343 llgtr %r3,%r3 # const char *
344 lgfr %r4,%r4 # int
345 jg sys_mkdirat
346
347ENTRY(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
354ENTRY(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
362ENTRY(compat_sys_futimesat_wrapper) 296ENTRY(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 */
275SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,compat_sys_s390_fadvise64_64) 275SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,compat_sys_s390_fadvise64_64)
276SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper) 276SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper)
277SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper) 277SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper)
278SYSCALL(sys_remap_file_pages,sys_remap_file_pages,sys32_remap_file_pages_wrapper) 278SYSCALL(sys_remap_file_pages,sys_remap_file_pages,compat_sys_remap_file_pages)
279NI_SYSCALL /* 268 sys_mbind */ 279NI_SYSCALL /* 268 sys_mbind */
280NI_SYSCALL /* 269 sys_get_mempolicy */ 280NI_SYSCALL /* 269 sys_get_mempolicy */
281NI_SYSCALL /* 270 sys_set_mempolicy */ 281NI_SYSCALL /* 270 sys_set_mempolicy */
@@ -286,20 +286,20 @@ SYSCALL(sys_mq_timedreceive,sys_mq_timedreceive,compat_sys_mq_timedreceive_wrapp
286SYSCALL(sys_mq_notify,sys_mq_notify,compat_sys_mq_notify_wrapper) /* 275 */ 286SYSCALL(sys_mq_notify,sys_mq_notify,compat_sys_mq_notify_wrapper) /* 275 */
287SYSCALL(sys_mq_getsetattr,sys_mq_getsetattr,compat_sys_mq_getsetattr_wrapper) 287SYSCALL(sys_mq_getsetattr,sys_mq_getsetattr,compat_sys_mq_getsetattr_wrapper)
288SYSCALL(sys_kexec_load,sys_kexec_load,compat_sys_kexec_load_wrapper) 288SYSCALL(sys_kexec_load,sys_kexec_load,compat_sys_kexec_load_wrapper)
289SYSCALL(sys_add_key,sys_add_key,compat_sys_add_key_wrapper) 289SYSCALL(sys_add_key,sys_add_key,compat_sys_add_key)
290SYSCALL(sys_request_key,sys_request_key,compat_sys_request_key_wrapper) 290SYSCALL(sys_request_key,sys_request_key,compat_sys_request_key)
291SYSCALL(sys_keyctl,sys_keyctl,compat_sys_keyctl_wrapper) /* 280 */ 291SYSCALL(sys_keyctl,sys_keyctl,compat_sys_keyctl_wrapper) /* 280 */
292SYSCALL(sys_waitid,sys_waitid,compat_sys_waitid) 292SYSCALL(sys_waitid,sys_waitid,compat_sys_waitid)
293SYSCALL(sys_ioprio_set,sys_ioprio_set,sys_ioprio_set_wrapper) 293SYSCALL(sys_ioprio_set,sys_ioprio_set,compat_sys_ioprio_set)
294SYSCALL(sys_ioprio_get,sys_ioprio_get,sys_ioprio_get_wrapper) 294SYSCALL(sys_ioprio_get,sys_ioprio_get,compat_sys_ioprio_get)
295SYSCALL(sys_inotify_init,sys_inotify_init,sys_inotify_init) 295SYSCALL(sys_inotify_init,sys_inotify_init,sys_inotify_init)
296SYSCALL(sys_inotify_add_watch,sys_inotify_add_watch,sys_inotify_add_watch_wrapper) /* 285 */ 296SYSCALL(sys_inotify_add_watch,sys_inotify_add_watch,compat_sys_inotify_add_watch) /* 285 */
297SYSCALL(sys_inotify_rm_watch,sys_inotify_rm_watch,sys_inotify_rm_watch_wrapper) 297SYSCALL(sys_inotify_rm_watch,sys_inotify_rm_watch,compat_sys_inotify_rm_watch)
298NI_SYSCALL /* 287 sys_migrate_pages */ 298NI_SYSCALL /* 287 sys_migrate_pages */
299SYSCALL(sys_openat,sys_openat,compat_sys_openat) 299SYSCALL(sys_openat,sys_openat,compat_sys_openat)
300SYSCALL(sys_mkdirat,sys_mkdirat,sys_mkdirat_wrapper) 300SYSCALL(sys_mkdirat,sys_mkdirat,compat_sys_mkdirat)
301SYSCALL(sys_mknodat,sys_mknodat,sys_mknodat_wrapper) /* 290 */ 301SYSCALL(sys_mknodat,sys_mknodat,compat_sys_mknodat) /* 290 */
302SYSCALL(sys_fchownat,sys_fchownat,sys_fchownat_wrapper) 302SYSCALL(sys_fchownat,sys_fchownat,compat_sys_fchownat)
303SYSCALL(sys_futimesat,sys_futimesat,compat_sys_futimesat_wrapper) 303SYSCALL(sys_futimesat,sys_futimesat,compat_sys_futimesat_wrapper)
304SYSCALL(sys_fstatat64,sys_newfstatat,compat_sys_s390_fstatat64) 304SYSCALL(sys_fstatat64,sys_newfstatat,compat_sys_s390_fstatat64)
305SYSCALL(sys_unlinkat,sys_unlinkat,sys_unlinkat_wrapper) 305SYSCALL(sys_unlinkat,sys_unlinkat,sys_unlinkat_wrapper)