提交 c6c0f58f 编写于 作者: H Heiko Carstens

s390/compat: convert to COMPAT_SYSCALL_DEFINEx part 1

Convert s390 specific system calls to to the new COMPAT_SYSCALL_DEFINE macro.
This allows us to get rid of the assembly compat wrappers.
Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
上级 217f4433
...@@ -86,27 +86,29 @@ ...@@ -86,27 +86,29 @@
#define SET_STAT_UID(stat, uid) (stat).st_uid = high2lowuid(uid) #define SET_STAT_UID(stat, uid) (stat).st_uid = high2lowuid(uid)
#define SET_STAT_GID(stat, gid) (stat).st_gid = high2lowgid(gid) #define SET_STAT_GID(stat, gid) (stat).st_gid = high2lowgid(gid)
asmlinkage long sys32_chown16(const char __user * filename, u16 user, u16 group) COMPAT_SYSCALL_DEFINE3(s390_chown16, const char __user *, filename,
u16, user, u16, group)
{ {
return sys_chown(filename, low2highuid(user), low2highgid(group)); return sys_chown(filename, low2highuid(user), low2highgid(group));
} }
asmlinkage long sys32_lchown16(const char __user * filename, u16 user, u16 group) COMPAT_SYSCALL_DEFINE3(s390_lchown16, const char __user *,
filename, u16, user, u16, group)
{ {
return sys_lchown(filename, low2highuid(user), low2highgid(group)); return sys_lchown(filename, low2highuid(user), low2highgid(group));
} }
asmlinkage long sys32_fchown16(unsigned int fd, u16 user, u16 group) COMPAT_SYSCALL_DEFINE3(s390_fchown16, unsigned int, fd, u16, user, u16, group)
{ {
return sys_fchown(fd, low2highuid(user), low2highgid(group)); return sys_fchown(fd, low2highuid(user), low2highgid(group));
} }
asmlinkage long sys32_setregid16(u16 rgid, u16 egid) COMPAT_SYSCALL_DEFINE2(s390_setregid16, u16, rgid, u16, egid)
{ {
return sys_setregid(low2highgid(rgid), low2highgid(egid)); return sys_setregid(low2highgid(rgid), low2highgid(egid));
} }
asmlinkage long sys32_setgid16(u16 gid) COMPAT_SYSCALL_DEFINE1(s390_setgid16, u16, gid)
{ {
return sys_setgid((gid_t)gid); return sys_setgid((gid_t)gid);
} }
......
...@@ -76,11 +76,11 @@ struct stat64_emu31; ...@@ -76,11 +76,11 @@ struct stat64_emu31;
struct mmap_arg_struct_emu31; struct mmap_arg_struct_emu31;
struct fadvise64_64_args; struct fadvise64_64_args;
long sys32_chown16(const char __user * filename, u16 user, u16 group); long compat_sys_s390_chown16(const char __user *filename, u16 user, u16 group);
long sys32_lchown16(const char __user * filename, u16 user, u16 group); long compat_sys_s390_lchown16(const char __user *filename, u16 user, u16 group);
long sys32_fchown16(unsigned int fd, u16 user, u16 group); long compat_sys_s390_fchown16(unsigned int fd, u16 user, u16 group);
long sys32_setregid16(u16 rgid, u16 egid); long compat_sys_s390_setregid16(u16 rgid, u16 egid);
long sys32_setgid16(u16 gid); long compat_sys_s390_setgid16(u16 gid);
long sys32_setreuid16(u16 ruid, u16 euid); long sys32_setreuid16(u16 ruid, u16 euid);
long sys32_setuid16(u16 uid); long sys32_setuid16(u16 uid);
long sys32_setresuid16(u16 ruid, u16 euid, u16 suid); long sys32_setresuid16(u16 ruid, u16 euid, u16 suid);
......
...@@ -61,12 +61,6 @@ ENTRY(sys32_chmod_wrapper) ...@@ -61,12 +61,6 @@ ENTRY(sys32_chmod_wrapper)
llgfr %r3,%r3 # mode_t llgfr %r3,%r3 # mode_t
jg sys_chmod # branch to system call jg sys_chmod # branch to system call
ENTRY(sys32_lchown16_wrapper)
llgtr %r2,%r2 # const char *
llgfr %r3,%r3 # __kernel_old_uid_emu31_t
llgfr %r4,%r4 # __kernel_old_uid_emu31_t
jg sys32_lchown16 # branch to system call
#sys32_getpid_wrapper # void #sys32_getpid_wrapper # void
ENTRY(sys32_mount_wrapper) ENTRY(sys32_mount_wrapper)
...@@ -149,10 +143,6 @@ ENTRY(sys32_brk_wrapper) ...@@ -149,10 +143,6 @@ ENTRY(sys32_brk_wrapper)
llgtr %r2,%r2 # unsigned long llgtr %r2,%r2 # unsigned long
jg sys_brk # branch to system call jg sys_brk # branch to system call
ENTRY(sys32_setgid16_wrapper)
llgfr %r2,%r2 # __kernel_old_gid_emu31_t
jg sys32_setgid16 # branch to system call
#sys32_getgid16_wrapper # void #sys32_getgid16_wrapper # void
ENTRY(sys32_signal_wrapper) ENTRY(sys32_signal_wrapper)
...@@ -219,11 +209,6 @@ ENTRY(sys32_setreuid16_wrapper) ...@@ -219,11 +209,6 @@ ENTRY(sys32_setreuid16_wrapper)
llgfr %r3,%r3 # __kernel_old_uid_emu31_t llgfr %r3,%r3 # __kernel_old_uid_emu31_t
jg sys32_setreuid16 # branch to system call jg sys32_setreuid16 # branch to system call
ENTRY(sys32_setregid16_wrapper)
llgfr %r2,%r2 # __kernel_old_gid_emu31_t
llgfr %r3,%r3 # __kernel_old_gid_emu31_t
jg sys32_setregid16 # branch to system call
ENTRY(sys_sigsuspend_wrapper) ENTRY(sys_sigsuspend_wrapper)
lgfr %r2,%r2 # int lgfr %r2,%r2 # int
lgfr %r3,%r3 # int lgfr %r3,%r3 # int
...@@ -325,12 +310,6 @@ ENTRY(sys32_fchmod_wrapper) ...@@ -325,12 +310,6 @@ ENTRY(sys32_fchmod_wrapper)
llgfr %r3,%r3 # mode_t llgfr %r3,%r3 # mode_t
jg sys_fchmod # branch to system call jg sys_fchmod # branch to system call
ENTRY(sys32_fchown16_wrapper)
llgfr %r2,%r2 # unsigned int
llgfr %r3,%r3 # compat_uid_t
llgfr %r4,%r4 # compat_uid_t
jg sys32_fchown16 # branch to system call
ENTRY(sys32_getpriority_wrapper) ENTRY(sys32_getpriority_wrapper)
lgfr %r2,%r2 # int lgfr %r2,%r2 # int
lgfr %r3,%r3 # int lgfr %r3,%r3 # int
...@@ -632,12 +611,6 @@ ENTRY(sys32_pwrite64_wrapper) ...@@ -632,12 +611,6 @@ ENTRY(sys32_pwrite64_wrapper)
llgfr %r6,%r6 # u32 llgfr %r6,%r6 # u32
jg sys32_pwrite64 # branch to system call jg sys32_pwrite64 # branch to system call
ENTRY(sys32_chown16_wrapper)
llgtr %r2,%r2 # const char *
llgfr %r3,%r3 # __kernel_old_uid_emu31_t
llgfr %r4,%r4 # __kernel_old_gid_emu31_t
jg sys32_chown16 # branch to system call
ENTRY(sys32_getcwd_wrapper) ENTRY(sys32_getcwd_wrapper)
llgtr %r2,%r2 # char * llgtr %r2,%r2 # char *
llgfr %r3,%r3 # unsigned long llgfr %r3,%r3 # unsigned long
......
...@@ -24,7 +24,7 @@ SYSCALL(sys_chdir,sys_chdir,sys32_chdir_wrapper) ...@@ -24,7 +24,7 @@ SYSCALL(sys_chdir,sys_chdir,sys32_chdir_wrapper)
SYSCALL(sys_time,sys_ni_syscall,sys32_time_wrapper) /* old time syscall */ SYSCALL(sys_time,sys_ni_syscall,sys32_time_wrapper) /* old time syscall */
SYSCALL(sys_mknod,sys_mknod,sys32_mknod_wrapper) SYSCALL(sys_mknod,sys_mknod,sys32_mknod_wrapper)
SYSCALL(sys_chmod,sys_chmod,sys32_chmod_wrapper) /* 15 */ SYSCALL(sys_chmod,sys_chmod,sys32_chmod_wrapper) /* 15 */
SYSCALL(sys_lchown16,sys_ni_syscall,sys32_lchown16_wrapper) /* old lchown16 syscall*/ SYSCALL(sys_lchown16,sys_ni_syscall,compat_sys_s390_lchown16) /* old lchown16 syscall*/
NI_SYSCALL /* old break syscall holder */ NI_SYSCALL /* old break syscall holder */
NI_SYSCALL /* old stat syscall holder */ NI_SYSCALL /* old stat syscall holder */
SYSCALL(sys_lseek,sys_lseek,compat_sys_lseek) SYSCALL(sys_lseek,sys_lseek,compat_sys_lseek)
...@@ -54,7 +54,7 @@ SYSCALL(sys_pipe,sys_pipe,sys32_pipe_wrapper) ...@@ -54,7 +54,7 @@ SYSCALL(sys_pipe,sys_pipe,sys32_pipe_wrapper)
SYSCALL(sys_times,sys_times,compat_sys_times_wrapper) SYSCALL(sys_times,sys_times,compat_sys_times_wrapper)
NI_SYSCALL /* old prof syscall */ NI_SYSCALL /* old prof syscall */
SYSCALL(sys_brk,sys_brk,sys32_brk_wrapper) /* 45 */ SYSCALL(sys_brk,sys_brk,sys32_brk_wrapper) /* 45 */
SYSCALL(sys_setgid16,sys_ni_syscall,sys32_setgid16_wrapper) /* old setgid16 syscall*/ SYSCALL(sys_setgid16,sys_ni_syscall,compat_sys_s390_setgid16) /* old setgid16 syscall*/
SYSCALL(sys_getgid16,sys_ni_syscall,sys32_getgid16) /* old getgid16 syscall*/ SYSCALL(sys_getgid16,sys_ni_syscall,sys32_getgid16) /* old getgid16 syscall*/
SYSCALL(sys_signal,sys_signal,sys32_signal_wrapper) SYSCALL(sys_signal,sys_signal,sys32_signal_wrapper)
SYSCALL(sys_geteuid16,sys_ni_syscall,sys32_geteuid16) /* old geteuid16 syscall */ SYSCALL(sys_geteuid16,sys_ni_syscall,sys32_geteuid16) /* old geteuid16 syscall */
...@@ -79,7 +79,7 @@ SYSCALL(sys_sigaction,sys_sigaction,compat_sys_sigaction) ...@@ -79,7 +79,7 @@ SYSCALL(sys_sigaction,sys_sigaction,compat_sys_sigaction)
NI_SYSCALL /* old sgetmask syscall*/ NI_SYSCALL /* old sgetmask syscall*/
NI_SYSCALL /* old ssetmask syscall*/ NI_SYSCALL /* old ssetmask syscall*/
SYSCALL(sys_setreuid16,sys_ni_syscall,sys32_setreuid16_wrapper) /* old setreuid16 syscall */ SYSCALL(sys_setreuid16,sys_ni_syscall,sys32_setreuid16_wrapper) /* old setreuid16 syscall */
SYSCALL(sys_setregid16,sys_ni_syscall,sys32_setregid16_wrapper) /* old setregid16 syscall */ SYSCALL(sys_setregid16,sys_ni_syscall,compat_sys_s390_setregid16) /* old setregid16 syscall */
SYSCALL(sys_sigsuspend,sys_sigsuspend,sys_sigsuspend_wrapper) SYSCALL(sys_sigsuspend,sys_sigsuspend,sys_sigsuspend_wrapper)
SYSCALL(sys_sigpending,sys_sigpending,compat_sys_sigpending_wrapper) SYSCALL(sys_sigpending,sys_sigpending,compat_sys_sigpending_wrapper)
SYSCALL(sys_sethostname,sys_sethostname,sys32_sethostname_wrapper) SYSCALL(sys_sethostname,sys_sethostname,sys32_sethostname_wrapper)
...@@ -103,7 +103,7 @@ SYSCALL(sys_munmap,sys_munmap,sys32_munmap_wrapper) ...@@ -103,7 +103,7 @@ SYSCALL(sys_munmap,sys_munmap,sys32_munmap_wrapper)
SYSCALL(sys_truncate,sys_truncate,compat_sys_truncate) SYSCALL(sys_truncate,sys_truncate,compat_sys_truncate)
SYSCALL(sys_ftruncate,sys_ftruncate,compat_sys_ftruncate) SYSCALL(sys_ftruncate,sys_ftruncate,compat_sys_ftruncate)
SYSCALL(sys_fchmod,sys_fchmod,sys32_fchmod_wrapper) SYSCALL(sys_fchmod,sys_fchmod,sys32_fchmod_wrapper)
SYSCALL(sys_fchown16,sys_ni_syscall,sys32_fchown16_wrapper) /* 95 old fchown16 syscall*/ SYSCALL(sys_fchown16,sys_ni_syscall,compat_sys_s390_fchown16) /* 95 old fchown16 syscall*/
SYSCALL(sys_getpriority,sys_getpriority,sys32_getpriority_wrapper) SYSCALL(sys_getpriority,sys_getpriority,sys32_getpriority_wrapper)
SYSCALL(sys_setpriority,sys_setpriority,sys32_setpriority_wrapper) SYSCALL(sys_setpriority,sys_setpriority,sys32_setpriority_wrapper)
NI_SYSCALL /* old profil syscall */ NI_SYSCALL /* old profil syscall */
...@@ -190,7 +190,7 @@ SYSCALL(sys_rt_sigqueueinfo,sys_rt_sigqueueinfo,compat_sys_rt_sigqueueinfo) ...@@ -190,7 +190,7 @@ SYSCALL(sys_rt_sigqueueinfo,sys_rt_sigqueueinfo,compat_sys_rt_sigqueueinfo)
SYSCALL(sys_rt_sigsuspend,sys_rt_sigsuspend,compat_sys_rt_sigsuspend) SYSCALL(sys_rt_sigsuspend,sys_rt_sigsuspend,compat_sys_rt_sigsuspend)
SYSCALL(sys_pread64,sys_pread64,sys32_pread64_wrapper) /* 180 */ SYSCALL(sys_pread64,sys_pread64,sys32_pread64_wrapper) /* 180 */
SYSCALL(sys_pwrite64,sys_pwrite64,sys32_pwrite64_wrapper) SYSCALL(sys_pwrite64,sys_pwrite64,sys32_pwrite64_wrapper)
SYSCALL(sys_chown16,sys_ni_syscall,sys32_chown16_wrapper) /* old chown16 syscall */ SYSCALL(sys_chown16,sys_ni_syscall,compat_sys_s390_chown16) /* old chown16 syscall */
SYSCALL(sys_getcwd,sys_getcwd,sys32_getcwd_wrapper) SYSCALL(sys_getcwd,sys_getcwd,sys32_getcwd_wrapper)
SYSCALL(sys_capget,sys_capget,sys32_capget_wrapper) SYSCALL(sys_capget,sys_capget,sys32_capget_wrapper)
SYSCALL(sys_capset,sys_capset,sys32_capset_wrapper) /* 185 */ SYSCALL(sys_capset,sys_capset,sys32_capset_wrapper) /* 185 */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册