s390/compat: convert system call wrappers to C part 15
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
Родитель
7f6afe87a0
Коммит
00fcb1494f
|
@ -164,3 +164,15 @@ COMPAT_SYSCALL_WRAP3(dup3, unsigned int, oldfd, unsigned int, newfd, int, flags)
|
|||
COMPAT_SYSCALL_WRAP1(epoll_create1, int, flags);
|
||||
COMPAT_SYSCALL_WRAP2(tkill, int, pid, int, sig);
|
||||
COMPAT_SYSCALL_WRAP3(tgkill, int, tgid, int, pid, int, sig);
|
||||
COMPAT_SYSCALL_WRAP5(perf_event_open, struct perf_event_attr __user *, attr_uptr, pid_t, pid, int, cpu, int, group_fd, u32, flags);
|
||||
COMPAT_SYSCALL_WRAP5(clone, u32, newsp, u32, clone_flags, int __user *, parent_tidptr, int __user *, child_tidptr, int, tls_val);
|
||||
COMPAT_SYSCALL_WRAP2(fanotify_init, unsigned int, flags, unsigned int, event_f_flags);
|
||||
COMPAT_SYSCALL_WRAP4(prlimit64, pid_t, pid, unsigned int, resource, const struct rlimit64 __user *, new_rlim, struct rlimit64 __user *, old_rlim);
|
||||
COMPAT_SYSCALL_WRAP5(name_to_handle_at, int, dfd, const char __user *, name, struct file_handle __user *, handle, int __user *, mnt_id, int, flag);
|
||||
COMPAT_SYSCALL_WRAP1(syncfs, int, fd);
|
||||
COMPAT_SYSCALL_WRAP2(setns, int, fd, int, nstype);
|
||||
COMPAT_SYSCALL_WRAP2(s390_runtime_instr, int, command, int, signum);
|
||||
COMPAT_SYSCALL_WRAP5(kcmp, pid_t, pid1, pid_t, pid2, int, type, u32, idx1, u32, idx2);
|
||||
COMPAT_SYSCALL_WRAP3(finit_module, int, fd, const char __user *, uargs, int, flags);
|
||||
COMPAT_SYSCALL_WRAP3(sched_setattr, pid_t, pid, struct sched_attr __user *, attr, unsigned int, flags);
|
||||
COMPAT_SYSCALL_WRAP4(sched_getattr, pid_t, pid, struct sched_attr __user *, attr, unsigned int, size, unsigned int, flags);
|
||||
|
|
|
@ -355,61 +355,17 @@ ENTRY(compat_sys_keyctl_wrapper)
|
|||
llgfr %r6,%r6 # u32
|
||||
jg compat_sys_keyctl # branch to system call
|
||||
|
||||
ENTRY(sys_perf_event_open_wrapper)
|
||||
llgtr %r2,%r2 # const struct perf_event_attr *
|
||||
lgfr %r3,%r3 # pid_t
|
||||
lgfr %r4,%r4 # int
|
||||
lgfr %r5,%r5 # int
|
||||
llgfr %r6,%r6 # unsigned long
|
||||
jg sys_perf_event_open # branch to system call
|
||||
|
||||
ENTRY(sys_clone_wrapper)
|
||||
llgfr %r2,%r2 # unsigned long
|
||||
llgfr %r3,%r3 # unsigned long
|
||||
llgtr %r4,%r4 # int *
|
||||
llgtr %r5,%r5 # int *
|
||||
jg sys_clone # branch to system call
|
||||
|
||||
ENTRY(sys32_execve_wrapper)
|
||||
llgtr %r2,%r2 # char *
|
||||
llgtr %r3,%r3 # compat_uptr_t *
|
||||
llgtr %r4,%r4 # compat_uptr_t *
|
||||
jg compat_sys_execve # branch to system call
|
||||
|
||||
ENTRY(sys_fanotify_init_wrapper)
|
||||
llgfr %r2,%r2 # unsigned int
|
||||
llgfr %r3,%r3 # unsigned int
|
||||
jg sys_fanotify_init # branch to system call
|
||||
|
||||
ENTRY(sys_prlimit64_wrapper)
|
||||
lgfr %r2,%r2 # pid_t
|
||||
llgfr %r3,%r3 # unsigned int
|
||||
llgtr %r4,%r4 # const struct rlimit64 __user *
|
||||
llgtr %r5,%r5 # struct rlimit64 __user *
|
||||
jg sys_prlimit64 # branch to system call
|
||||
|
||||
ENTRY(sys_name_to_handle_at_wrapper)
|
||||
lgfr %r2,%r2 # int
|
||||
llgtr %r3,%r3 # const char __user *
|
||||
llgtr %r4,%r4 # struct file_handle __user *
|
||||
llgtr %r5,%r5 # int __user *
|
||||
lgfr %r6,%r6 # int
|
||||
jg sys_name_to_handle_at
|
||||
|
||||
ENTRY(compat_sys_clock_adjtime_wrapper)
|
||||
lgfr %r2,%r2 # clockid_t (int)
|
||||
llgtr %r3,%r3 # struct compat_timex __user *
|
||||
jg compat_sys_clock_adjtime
|
||||
|
||||
ENTRY(sys_syncfs_wrapper)
|
||||
lgfr %r2,%r2 # int
|
||||
jg sys_syncfs
|
||||
|
||||
ENTRY(sys_setns_wrapper)
|
||||
lgfr %r2,%r2 # int
|
||||
lgfr %r3,%r3 # int
|
||||
jg sys_setns
|
||||
|
||||
ENTRY(compat_sys_process_vm_readv_wrapper)
|
||||
lgfr %r2,%r2 # compat_pid_t
|
||||
llgtr %r3,%r3 # struct compat_iovec __user *
|
||||
|
@ -429,33 +385,3 @@ ENTRY(compat_sys_process_vm_writev_wrapper)
|
|||
llgf %r0,164(%r15) # unsigned long
|
||||
stg %r0,160(%r15)
|
||||
jg compat_sys_process_vm_writev
|
||||
|
||||
ENTRY(sys_s390_runtime_instr_wrapper)
|
||||
lgfr %r2,%r2 # int
|
||||
lgfr %r3,%r3 # int
|
||||
jg sys_s390_runtime_instr
|
||||
|
||||
ENTRY(sys_kcmp_wrapper)
|
||||
lgfr %r2,%r2 # pid_t
|
||||
lgfr %r3,%r3 # pid_t
|
||||
lgfr %r4,%r4 # int
|
||||
llgfr %r5,%r5 # unsigned long
|
||||
llgfr %r6,%r6 # unsigned long
|
||||
jg sys_kcmp
|
||||
|
||||
ENTRY(sys_finit_module_wrapper)
|
||||
lgfr %r2,%r2 # int
|
||||
llgtr %r3,%r3 # const char __user *
|
||||
lgfr %r4,%r4 # int
|
||||
jg sys_finit_module
|
||||
|
||||
ENTRY(sys_sched_setattr_wrapper)
|
||||
lgfr %r2,%r2 # pid_t
|
||||
llgtr %r3,%r3 # struct sched_attr __user *
|
||||
jg sys_sched_setattr
|
||||
|
||||
ENTRY(sys_sched_getattr_wrapper)
|
||||
lgfr %r2,%r2 # pid_t
|
||||
llgtr %r3,%r3 # const char __user *
|
||||
llgfr %r4,%r4 # unsigned int
|
||||
jg sys_sched_getattr
|
||||
|
|
|
@ -73,5 +73,6 @@ long sys32_sigreturn(void);
|
|||
long sys32_rt_sigreturn(void);
|
||||
|
||||
long sys_s390_personality(unsigned int personality);
|
||||
long sys_s390_runtime_instr(int command, int signum);
|
||||
|
||||
#endif /* _ENTRY_H */
|
||||
|
|
|
@ -128,7 +128,7 @@ SYSCALL(sys_sysinfo,sys_sysinfo,compat_sys_sysinfo_wrapper)
|
|||
SYSCALL(sys_s390_ipc,sys_s390_ipc,compat_sys_s390_ipc)
|
||||
SYSCALL(sys_fsync,sys_fsync,compat_sys_fsync)
|
||||
SYSCALL(sys_sigreturn,sys_sigreturn,sys32_sigreturn)
|
||||
SYSCALL(sys_clone,sys_clone,sys_clone_wrapper) /* 120 */
|
||||
SYSCALL(sys_clone,sys_clone,compat_sys_clone) /* 120 */
|
||||
SYSCALL(sys_setdomainname,sys_setdomainname,compat_sys_setdomainname)
|
||||
SYSCALL(sys_newuname,sys_newuname,compat_sys_newuname)
|
||||
NI_SYSCALL /* modify_ldt for i386 */
|
||||
|
@ -339,19 +339,19 @@ SYSCALL(sys_epoll_create1,sys_epoll_create1,compat_sys_epoll_create1)
|
|||
SYSCALL(sys_preadv,sys_preadv,compat_sys_preadv)
|
||||
SYSCALL(sys_pwritev,sys_pwritev,compat_sys_pwritev)
|
||||
SYSCALL(sys_rt_tgsigqueueinfo,sys_rt_tgsigqueueinfo,compat_sys_rt_tgsigqueueinfo) /* 330 */
|
||||
SYSCALL(sys_perf_event_open,sys_perf_event_open,sys_perf_event_open_wrapper)
|
||||
SYSCALL(sys_fanotify_init,sys_fanotify_init,sys_fanotify_init_wrapper)
|
||||
SYSCALL(sys_perf_event_open,sys_perf_event_open,compat_sys_perf_event_open)
|
||||
SYSCALL(sys_fanotify_init,sys_fanotify_init,compat_sys_fanotify_init)
|
||||
SYSCALL(sys_fanotify_mark,sys_fanotify_mark,compat_sys_fanotify_mark)
|
||||
SYSCALL(sys_prlimit64,sys_prlimit64,sys_prlimit64_wrapper)
|
||||
SYSCALL(sys_name_to_handle_at,sys_name_to_handle_at,sys_name_to_handle_at_wrapper) /* 335 */
|
||||
SYSCALL(sys_prlimit64,sys_prlimit64,compat_sys_prlimit64)
|
||||
SYSCALL(sys_name_to_handle_at,sys_name_to_handle_at,compat_sys_name_to_handle_at) /* 335 */
|
||||
SYSCALL(sys_open_by_handle_at,sys_open_by_handle_at,compat_sys_open_by_handle_at)
|
||||
SYSCALL(sys_clock_adjtime,sys_clock_adjtime,compat_sys_clock_adjtime_wrapper)
|
||||
SYSCALL(sys_syncfs,sys_syncfs,sys_syncfs_wrapper)
|
||||
SYSCALL(sys_setns,sys_setns,sys_setns_wrapper)
|
||||
SYSCALL(sys_syncfs,sys_syncfs,compat_sys_syncfs)
|
||||
SYSCALL(sys_setns,sys_setns,compat_sys_setns)
|
||||
SYSCALL(sys_process_vm_readv,sys_process_vm_readv,compat_sys_process_vm_readv_wrapper) /* 340 */
|
||||
SYSCALL(sys_process_vm_writev,sys_process_vm_writev,compat_sys_process_vm_writev_wrapper)
|
||||
SYSCALL(sys_ni_syscall,sys_s390_runtime_instr,sys_s390_runtime_instr_wrapper)
|
||||
SYSCALL(sys_kcmp,sys_kcmp,sys_kcmp_wrapper)
|
||||
SYSCALL(sys_finit_module,sys_finit_module,sys_finit_module_wrapper)
|
||||
SYSCALL(sys_sched_setattr,sys_sched_setattr,sys_sched_setattr_wrapper) /* 345 */
|
||||
SYSCALL(sys_sched_getattr,sys_sched_getattr,sys_sched_getattr_wrapper)
|
||||
SYSCALL(sys_ni_syscall,sys_s390_runtime_instr,compat_sys_s390_runtime_instr)
|
||||
SYSCALL(sys_kcmp,sys_kcmp,compat_sys_kcmp)
|
||||
SYSCALL(sys_finit_module,sys_finit_module,compat_sys_finit_module)
|
||||
SYSCALL(sys_sched_setattr,sys_sched_setattr,compat_sys_sched_setattr) /* 345 */
|
||||
SYSCALL(sys_sched_getattr,sys_sched_getattr,compat_sys_sched_getattr)
|
||||
|
|
Загрузка…
Ссылка в новой задаче