s390/compat: convert system call wrappers to C part 09
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Fri, 28 Feb 2014 09:31:37 +0000 (10:31 +0100)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 4 Mar 2014 08:05:43 +0000 (09:05 +0100)
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
arch/s390/kernel/compat_wrap.c
arch/s390/kernel/compat_wrapper.S
arch/s390/kernel/syscalls.S

index 3016772..84d2e25 100644 (file)
@@ -104,3 +104,13 @@ COMPAT_SYSCALL_WRAP3(getresuid, compat_uid_t __user *, ruid, compat_uid_t __user
 COMPAT_SYSCALL_WRAP3(setresgid, compat_gid_t, rgid, compat_gid_t, egid, compat_gid_t, sgid);
 COMPAT_SYSCALL_WRAP3(getresgid, compat_gid_t __user *, rgid, compat_gid_t __user *, egid, compat_gid_t __user *, sgid);
 COMPAT_SYSCALL_WRAP3(chown, const char __user *, filename, compat_uid_t, user, compat_gid_t, group);
+COMPAT_SYSCALL_WRAP1(setuid, compat_uid_t, uid);
+COMPAT_SYSCALL_WRAP1(setgid, compat_gid_t, gid);
+COMPAT_SYSCALL_WRAP1(setfsuid, compat_uid_t, uid);
+COMPAT_SYSCALL_WRAP1(setfsgid, compat_gid_t, gid);
+COMPAT_SYSCALL_WRAP2(pivot_root, const char __user *, new_root, const char __user *, put_old);
+COMPAT_SYSCALL_WRAP3(mincore, compat_ulong_t, start, compat_size_t, len, unsigned char __user *, vec);
+COMPAT_SYSCALL_WRAP3(madvise, compat_ulong_t, start, compat_size_t, len, int, behavior);
+COMPAT_SYSCALL_WRAP5(setxattr, const char __user *, path, const char __user *, name, const void __user *, value, compat_size_t, size, int, flags);
+COMPAT_SYSCALL_WRAP5(lsetxattr, const char __user *, path, const char __user *, name, const void __user *, value, compat_size_t, size, int, flags);
+COMPAT_SYSCALL_WRAP5(fsetxattr, int, fd, const char __user *, name, const void __user *, value, compat_size_t, size, int, flags);
index e430f28..1e1b71f 100644 (file)
@@ -159,39 +159,6 @@ ENTRY(compat_sys_nanosleep_wrapper)
        llgtr   %r3,%r3                 # struct compat_timespec *
        jg      compat_sys_nanosleep            # branch to system call
 
-ENTRY(sys32_setuid_wrapper)
-       llgfr   %r2,%r2                 # uid_t
-       jg      sys_setuid              # branch to system call
-
-ENTRY(sys32_setgid_wrapper)
-       llgfr   %r2,%r2                 # gid_t
-       jg      sys_setgid              # branch to system call
-
-ENTRY(sys32_setfsuid_wrapper)
-       llgfr   %r2,%r2                 # uid_t
-       jg      sys_setfsuid            # branch to system call
-
-ENTRY(sys32_setfsgid_wrapper)
-       llgfr   %r2,%r2                 # gid_t
-       jg      sys_setfsgid            # branch to system call
-
-ENTRY(sys32_pivot_root_wrapper)
-       llgtr   %r2,%r2                 # const char *
-       llgtr   %r3,%r3                 # const char *
-       jg      sys_pivot_root          # branch to system call
-
-ENTRY(sys32_mincore_wrapper)
-       llgfr   %r2,%r2                 # unsigned long
-       llgfr   %r3,%r3                 # size_t
-       llgtr   %r4,%r4                 # unsigned char *
-       jg      sys_mincore             # branch to system call
-
-ENTRY(sys32_madvise_wrapper)
-       llgfr   %r2,%r2                 # unsigned long
-       llgfr   %r3,%r3                 # size_t
-       lgfr    %r4,%r4                 # int
-       jg      sys_madvise             # branch to system call
-
 ENTRY(sys32_getdents64_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # void *
@@ -208,30 +175,6 @@ ENTRY(sys32_stime_wrapper)
        llgtr   %r2,%r2                 # long *
        jg      compat_sys_stime        # branch to system call
 
-ENTRY(sys32_setxattr_wrapper)
-       llgtr   %r2,%r2                 # char *
-       llgtr   %r3,%r3                 # char *
-       llgtr   %r4,%r4                 # void *
-       llgfr   %r5,%r5                 # size_t
-       lgfr    %r6,%r6                 # int
-       jg      sys_setxattr
-
-ENTRY(sys32_lsetxattr_wrapper)
-       llgtr   %r2,%r2                 # char *
-       llgtr   %r3,%r3                 # char *
-       llgtr   %r4,%r4                 # void *
-       llgfr   %r5,%r5                 # size_t
-       lgfr    %r6,%r6                 # int
-       jg      sys_lsetxattr
-
-ENTRY(sys32_fsetxattr_wrapper)
-       lgfr    %r2,%r2                 # int
-       llgtr   %r3,%r3                 # char *
-       llgtr   %r4,%r4                 # void *
-       llgfr   %r5,%r5                 # size_t
-       lgfr    %r6,%r6                 # int
-       jg      sys_fsetxattr
-
 ENTRY(sys32_getxattr_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # char *
index 609de5a..053b271 100644 (file)
@@ -221,20 +221,20 @@ SYSCALL(sys_getresuid,sys_getresuid,compat_sys_getresuid)
 SYSCALL(sys_setresgid,sys_setresgid,compat_sys_setresgid)      /* 210 */
 SYSCALL(sys_getresgid,sys_getresgid,compat_sys_getresgid)
 SYSCALL(sys_chown,sys_chown,compat_sys_chown)
-SYSCALL(sys_setuid,sys_setuid,sys32_setuid_wrapper)
-SYSCALL(sys_setgid,sys_setgid,sys32_setgid_wrapper)
-SYSCALL(sys_setfsuid,sys_setfsuid,sys32_setfsuid_wrapper)      /* 215 */
-SYSCALL(sys_setfsgid,sys_setfsgid,sys32_setfsgid_wrapper)
-SYSCALL(sys_pivot_root,sys_pivot_root,sys32_pivot_root_wrapper)
-SYSCALL(sys_mincore,sys_mincore,sys32_mincore_wrapper)
-SYSCALL(sys_madvise,sys_madvise,sys32_madvise_wrapper)
+SYSCALL(sys_setuid,sys_setuid,compat_sys_setuid)
+SYSCALL(sys_setgid,sys_setgid,compat_sys_setgid)
+SYSCALL(sys_setfsuid,sys_setfsuid,compat_sys_setfsuid) /* 215 */
+SYSCALL(sys_setfsgid,sys_setfsgid,compat_sys_setfsgid)
+SYSCALL(sys_pivot_root,sys_pivot_root,compat_sys_pivot_root)
+SYSCALL(sys_mincore,sys_mincore,compat_sys_mincore)
+SYSCALL(sys_madvise,sys_madvise,compat_sys_madvise)
 SYSCALL(sys_getdents64,sys_getdents64,sys32_getdents64_wrapper)        /* 220 */
 SYSCALL(sys_fcntl64,sys_ni_syscall,compat_sys_fcntl64_wrapper)
 SYSCALL(sys_readahead,sys_readahead,compat_sys_s390_readahead)
 SYSCALL(sys_sendfile64,sys_ni_syscall,compat_sys_sendfile64)
-SYSCALL(sys_setxattr,sys_setxattr,sys32_setxattr_wrapper)
-SYSCALL(sys_lsetxattr,sys_lsetxattr,sys32_lsetxattr_wrapper)   /* 225 */
-SYSCALL(sys_fsetxattr,sys_fsetxattr,sys32_fsetxattr_wrapper)
+SYSCALL(sys_setxattr,sys_setxattr,compat_sys_setxattr)
+SYSCALL(sys_lsetxattr,sys_lsetxattr,compat_sys_lsetxattr)      /* 225 */
+SYSCALL(sys_fsetxattr,sys_fsetxattr,compat_sys_fsetxattr)
 SYSCALL(sys_getxattr,sys_getxattr,sys32_getxattr_wrapper)
 SYSCALL(sys_lgetxattr,sys_lgetxattr,sys32_lgetxattr_wrapper)
 SYSCALL(sys_fgetxattr,sys_fgetxattr,sys32_fgetxattr_wrapper)