diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-02-25 09:52:24 -0500 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-03-04 03:05:35 -0500 |
commit | 208096eee2fa44de0464e1f3c1f0c1ca1afe67ad (patch) | |
tree | 23d0938a373aa8f55c0960d5178aec192fccef06 | |
parent | c6c0f58f90cb8e159702ccc08772bc9221f1c35e (diff) |
s390/compat: convert to COMPAT_SYSCALL_DEFINEx part 2
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
-rw-r--r-- | arch/s390/kernel/compat_linux.c | 15 | ||||
-rw-r--r-- | arch/s390/kernel/compat_linux.h | 10 | ||||
-rw-r--r-- | arch/s390/kernel/compat_wrapper.S | 27 | ||||
-rw-r--r-- | arch/s390/kernel/syscalls.S | 10 |
4 files changed, 18 insertions, 44 deletions
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c index 9abf84e19d69..b47a8f1a2662 100644 --- a/arch/s390/kernel/compat_linux.c +++ b/arch/s390/kernel/compat_linux.c | |||
@@ -113,23 +113,24 @@ COMPAT_SYSCALL_DEFINE1(s390_setgid16, u16, gid) | |||
113 | return sys_setgid((gid_t)gid); | 113 | return sys_setgid((gid_t)gid); |
114 | } | 114 | } |
115 | 115 | ||
116 | asmlinkage long sys32_setreuid16(u16 ruid, u16 euid) | 116 | COMPAT_SYSCALL_DEFINE2(s390_setreuid16, u16, ruid, u16, euid) |
117 | { | 117 | { |
118 | return sys_setreuid(low2highuid(ruid), low2highuid(euid)); | 118 | return sys_setreuid(low2highuid(ruid), low2highuid(euid)); |
119 | } | 119 | } |
120 | 120 | ||
121 | asmlinkage long sys32_setuid16(u16 uid) | 121 | COMPAT_SYSCALL_DEFINE1(s390_setuid16, u16, uid) |
122 | { | 122 | { |
123 | return sys_setuid((uid_t)uid); | 123 | return sys_setuid((uid_t)uid); |
124 | } | 124 | } |
125 | 125 | ||
126 | asmlinkage long sys32_setresuid16(u16 ruid, u16 euid, u16 suid) | 126 | COMPAT_SYSCALL_DEFINE3(s390_setresuid16, u16, ruid, u16, euid, u16, suid) |
127 | { | 127 | { |
128 | return sys_setresuid(low2highuid(ruid), low2highuid(euid), | 128 | return sys_setresuid(low2highuid(ruid), low2highuid(euid), |
129 | low2highuid(suid)); | 129 | low2highuid(suid)); |
130 | } | 130 | } |
131 | 131 | ||
132 | asmlinkage long sys32_getresuid16(u16 __user *ruidp, u16 __user *euidp, u16 __user *suidp) | 132 | COMPAT_SYSCALL_DEFINE3(s390_getresuid16, u16 __user *, ruidp, |
133 | u16 __user *, euidp, u16 __user *, suidp) | ||
133 | { | 134 | { |
134 | const struct cred *cred = current_cred(); | 135 | const struct cred *cred = current_cred(); |
135 | int retval; | 136 | int retval; |
@@ -146,10 +147,10 @@ asmlinkage long sys32_getresuid16(u16 __user *ruidp, u16 __user *euidp, u16 __us | |||
146 | return retval; | 147 | return retval; |
147 | } | 148 | } |
148 | 149 | ||
149 | asmlinkage long sys32_setresgid16(u16 rgid, u16 egid, u16 sgid) | 150 | COMPAT_SYSCALL_DEFINE3(s390_setresgid16, u16, rgid, u16, egid, u16, sgid) |
150 | { | 151 | { |
151 | return sys_setresgid(low2highgid(rgid), low2highgid(egid), | 152 | return sys_setresgid(low2highgid(rgid), low2highgid(egid), |
152 | low2highgid(sgid)); | 153 | low2highgid(sgid)); |
153 | } | 154 | } |
154 | 155 | ||
155 | asmlinkage long sys32_getresgid16(u16 __user *rgidp, u16 __user *egidp, u16 __user *sgidp) | 156 | asmlinkage long sys32_getresgid16(u16 __user *rgidp, u16 __user *egidp, u16 __user *sgidp) |
diff --git a/arch/s390/kernel/compat_linux.h b/arch/s390/kernel/compat_linux.h index 161b6c40fa12..2b8dfe66b9b9 100644 --- a/arch/s390/kernel/compat_linux.h +++ b/arch/s390/kernel/compat_linux.h | |||
@@ -81,11 +81,11 @@ long compat_sys_s390_lchown16(const char __user *filename, u16 user, u16 group); | |||
81 | long compat_sys_s390_fchown16(unsigned int fd, u16 user, u16 group); | 81 | long compat_sys_s390_fchown16(unsigned int fd, u16 user, u16 group); |
82 | long compat_sys_s390_setregid16(u16 rgid, u16 egid); | 82 | long compat_sys_s390_setregid16(u16 rgid, u16 egid); |
83 | long compat_sys_s390_setgid16(u16 gid); | 83 | long compat_sys_s390_setgid16(u16 gid); |
84 | long sys32_setreuid16(u16 ruid, u16 euid); | 84 | long compat_sys_s390_setreuid16(u16 ruid, u16 euid); |
85 | long sys32_setuid16(u16 uid); | 85 | long compat_sys_s390_setuid16(u16 uid); |
86 | long sys32_setresuid16(u16 ruid, u16 euid, u16 suid); | 86 | long compat_sys_s390_setresuid16(u16 ruid, u16 euid, u16 suid); |
87 | long sys32_getresuid16(u16 __user *ruid, u16 __user *euid, u16 __user *suid); | 87 | long compat_sys_s390_getresuid16(u16 __user *ruid, u16 __user *euid, u16 __user *suid); |
88 | long sys32_setresgid16(u16 rgid, u16 egid, u16 sgid); | 88 | long compat_sys_s390_setresgid16(u16 rgid, u16 egid, u16 sgid); |
89 | long sys32_getresgid16(u16 __user *rgid, u16 __user *egid, u16 __user *sgid); | 89 | long sys32_getresgid16(u16 __user *rgid, u16 __user *egid, u16 __user *sgid); |
90 | long sys32_setfsuid16(u16 uid); | 90 | long sys32_setfsuid16(u16 uid); |
91 | long sys32_setfsgid16(u16 gid); | 91 | long sys32_setfsgid16(u16 gid); |
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index cc85c7227dc2..a073e7f9acfa 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S | |||
@@ -75,10 +75,6 @@ ENTRY(sys32_oldumount_wrapper) | |||
75 | llgtr %r2,%r2 # char * | 75 | llgtr %r2,%r2 # char * |
76 | jg sys_oldumount # branch to system call | 76 | jg sys_oldumount # branch to system call |
77 | 77 | ||
78 | ENTRY(sys32_setuid16_wrapper) | ||
79 | llgfr %r2,%r2 # __kernel_old_uid_emu31_t | ||
80 | jg sys32_setuid16 # branch to system call | ||
81 | |||
82 | #sys32_getuid16_wrapper # void | 78 | #sys32_getuid16_wrapper # void |
83 | 79 | ||
84 | ENTRY(sys32_ptrace_wrapper) | 80 | ENTRY(sys32_ptrace_wrapper) |
@@ -204,11 +200,6 @@ ENTRY(sys32_dup2_wrapper) | |||
204 | 200 | ||
205 | #sys32_setsid_wrapper # void | 201 | #sys32_setsid_wrapper # void |
206 | 202 | ||
207 | ENTRY(sys32_setreuid16_wrapper) | ||
208 | llgfr %r2,%r2 # __kernel_old_uid_emu31_t | ||
209 | llgfr %r3,%r3 # __kernel_old_uid_emu31_t | ||
210 | jg sys32_setreuid16 # branch to system call | ||
211 | |||
212 | ENTRY(sys_sigsuspend_wrapper) | 203 | ENTRY(sys_sigsuspend_wrapper) |
213 | lgfr %r2,%r2 # int | 204 | lgfr %r2,%r2 # int |
214 | lgfr %r3,%r3 # int | 205 | lgfr %r3,%r3 # int |
@@ -555,30 +546,12 @@ ENTRY(sys32_mremap_wrapper) | |||
555 | llgfr %r6,%r6 # unsigned long | 546 | llgfr %r6,%r6 # unsigned long |
556 | jg sys_mremap # branch to system call | 547 | jg sys_mremap # branch to system call |
557 | 548 | ||
558 | ENTRY(sys32_setresuid16_wrapper) | ||
559 | llgfr %r2,%r2 # __kernel_old_uid_emu31_t | ||
560 | llgfr %r3,%r3 # __kernel_old_uid_emu31_t | ||
561 | llgfr %r4,%r4 # __kernel_old_uid_emu31_t | ||
562 | jg sys32_setresuid16 # branch to system call | ||
563 | |||
564 | ENTRY(sys32_getresuid16_wrapper) | ||
565 | llgtr %r2,%r2 # __kernel_old_uid_emu31_t * | ||
566 | llgtr %r3,%r3 # __kernel_old_uid_emu31_t * | ||
567 | llgtr %r4,%r4 # __kernel_old_uid_emu31_t * | ||
568 | jg sys32_getresuid16 # branch to system call | ||
569 | |||
570 | ENTRY(sys32_poll_wrapper) | 549 | ENTRY(sys32_poll_wrapper) |
571 | llgtr %r2,%r2 # struct pollfd * | 550 | llgtr %r2,%r2 # struct pollfd * |
572 | llgfr %r3,%r3 # unsigned int | 551 | llgfr %r3,%r3 # unsigned int |
573 | lgfr %r4,%r4 # int | 552 | lgfr %r4,%r4 # int |
574 | jg sys_poll # branch to system call | 553 | jg sys_poll # branch to system call |
575 | 554 | ||
576 | ENTRY(sys32_setresgid16_wrapper) | ||
577 | llgfr %r2,%r2 # __kernel_old_gid_emu31_t | ||
578 | llgfr %r3,%r3 # __kernel_old_gid_emu31_t | ||
579 | llgfr %r4,%r4 # __kernel_old_gid_emu31_t | ||
580 | jg sys32_setresgid16 # branch to system call | ||
581 | |||
582 | ENTRY(sys32_getresgid16_wrapper) | 555 | ENTRY(sys32_getresgid16_wrapper) |
583 | llgtr %r2,%r2 # __kernel_old_gid_emu31_t * | 556 | llgtr %r2,%r2 # __kernel_old_gid_emu31_t * |
584 | llgtr %r3,%r3 # __kernel_old_gid_emu31_t * | 557 | llgtr %r3,%r3 # __kernel_old_gid_emu31_t * |
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index a2986306fbb5..8c7c4a6f6722 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S | |||
@@ -31,7 +31,7 @@ SYSCALL(sys_lseek,sys_lseek,compat_sys_lseek) | |||
31 | SYSCALL(sys_getpid,sys_getpid,sys_getpid) /* 20 */ | 31 | SYSCALL(sys_getpid,sys_getpid,sys_getpid) /* 20 */ |
32 | SYSCALL(sys_mount,sys_mount,sys32_mount_wrapper) | 32 | SYSCALL(sys_mount,sys_mount,sys32_mount_wrapper) |
33 | SYSCALL(sys_oldumount,sys_oldumount,sys32_oldumount_wrapper) | 33 | SYSCALL(sys_oldumount,sys_oldumount,sys32_oldumount_wrapper) |
34 | SYSCALL(sys_setuid16,sys_ni_syscall,sys32_setuid16_wrapper) /* old setuid16 syscall*/ | 34 | SYSCALL(sys_setuid16,sys_ni_syscall,compat_sys_s390_setuid16) /* old setuid16 syscall*/ |
35 | SYSCALL(sys_getuid16,sys_ni_syscall,sys32_getuid16) /* old getuid16 syscall*/ | 35 | SYSCALL(sys_getuid16,sys_ni_syscall,sys32_getuid16) /* old getuid16 syscall*/ |
36 | SYSCALL(sys_stime,sys_ni_syscall,sys32_stime_wrapper) /* 25 old stime syscall */ | 36 | SYSCALL(sys_stime,sys_ni_syscall,sys32_stime_wrapper) /* 25 old stime syscall */ |
37 | SYSCALL(sys_ptrace,sys_ptrace,sys32_ptrace_wrapper) | 37 | SYSCALL(sys_ptrace,sys_ptrace,sys32_ptrace_wrapper) |
@@ -78,7 +78,7 @@ SYSCALL(sys_setsid,sys_setsid,sys_setsid) | |||
78 | SYSCALL(sys_sigaction,sys_sigaction,compat_sys_sigaction) | 78 | SYSCALL(sys_sigaction,sys_sigaction,compat_sys_sigaction) |
79 | NI_SYSCALL /* old sgetmask syscall*/ | 79 | NI_SYSCALL /* old sgetmask syscall*/ |
80 | NI_SYSCALL /* old ssetmask syscall*/ | 80 | NI_SYSCALL /* old ssetmask syscall*/ |
81 | SYSCALL(sys_setreuid16,sys_ni_syscall,sys32_setreuid16_wrapper) /* old setreuid16 syscall */ | 81 | SYSCALL(sys_setreuid16,sys_ni_syscall,compat_sys_s390_setreuid16) /* old setreuid16 syscall */ |
82 | SYSCALL(sys_setregid16,sys_ni_syscall,compat_sys_s390_setregid16) /* old setregid16 syscall */ | 82 | SYSCALL(sys_setregid16,sys_ni_syscall,compat_sys_s390_setregid16) /* old setregid16 syscall */ |
83 | SYSCALL(sys_sigsuspend,sys_sigsuspend,sys_sigsuspend_wrapper) | 83 | SYSCALL(sys_sigsuspend,sys_sigsuspend,sys_sigsuspend_wrapper) |
84 | SYSCALL(sys_sigpending,sys_sigpending,compat_sys_sigpending_wrapper) | 84 | SYSCALL(sys_sigpending,sys_sigpending,compat_sys_sigpending_wrapper) |
@@ -172,13 +172,13 @@ SYSCALL(sys_sched_get_priority_min,sys_sched_get_priority_min,sys32_sched_get_pr | |||
172 | SYSCALL(sys_sched_rr_get_interval,sys_sched_rr_get_interval,compat_sys_sched_rr_get_interval) | 172 | SYSCALL(sys_sched_rr_get_interval,sys_sched_rr_get_interval,compat_sys_sched_rr_get_interval) |
173 | SYSCALL(sys_nanosleep,sys_nanosleep,compat_sys_nanosleep_wrapper) | 173 | SYSCALL(sys_nanosleep,sys_nanosleep,compat_sys_nanosleep_wrapper) |
174 | SYSCALL(sys_mremap,sys_mremap,sys32_mremap_wrapper) | 174 | SYSCALL(sys_mremap,sys_mremap,sys32_mremap_wrapper) |
175 | SYSCALL(sys_setresuid16,sys_ni_syscall,sys32_setresuid16_wrapper) /* old setresuid16 syscall */ | 175 | SYSCALL(sys_setresuid16,sys_ni_syscall,compat_sys_s390_setresuid16) /* old setresuid16 syscall */ |
176 | SYSCALL(sys_getresuid16,sys_ni_syscall,sys32_getresuid16_wrapper) /* 165 old getresuid16 syscall */ | 176 | SYSCALL(sys_getresuid16,sys_ni_syscall,compat_sys_s390_getresuid16) /* 165 old getresuid16 syscall */ |
177 | NI_SYSCALL /* for vm86 */ | 177 | NI_SYSCALL /* for vm86 */ |
178 | NI_SYSCALL /* old sys_query_module */ | 178 | NI_SYSCALL /* old sys_query_module */ |
179 | SYSCALL(sys_poll,sys_poll,sys32_poll_wrapper) | 179 | SYSCALL(sys_poll,sys_poll,sys32_poll_wrapper) |
180 | NI_SYSCALL /* old nfsservctl */ | 180 | NI_SYSCALL /* old nfsservctl */ |
181 | SYSCALL(sys_setresgid16,sys_ni_syscall,sys32_setresgid16_wrapper) /* 170 old setresgid16 syscall */ | 181 | SYSCALL(sys_setresgid16,sys_ni_syscall,compat_sys_s390_setresgid16) /* 170 old setresgid16 syscall */ |
182 | SYSCALL(sys_getresgid16,sys_ni_syscall,sys32_getresgid16_wrapper) /* old getresgid16 syscall */ | 182 | SYSCALL(sys_getresgid16,sys_ni_syscall,sys32_getresgid16_wrapper) /* old getresgid16 syscall */ |
183 | SYSCALL(sys_prctl,sys_prctl,sys32_prctl_wrapper) | 183 | SYSCALL(sys_prctl,sys_prctl,sys32_prctl_wrapper) |
184 | SYSCALL(sys_rt_sigreturn,sys_rt_sigreturn,sys32_rt_sigreturn) | 184 | SYSCALL(sys_rt_sigreturn,sys_rt_sigreturn,sys32_rt_sigreturn) |