diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2018-03-19 23:48:30 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2018-03-20 12:05:16 -0400 |
commit | 8c82ccd63192a3ed66a454fdd70da2a4cc8455a1 (patch) | |
tree | 398f815a292ad17992cb83e28b232f879171ced6 | |
parent | 8ccb004677d15ebfd44470e27bc9a399b0e71e4e (diff) |
sparc: switch compat pread64 and pwrite64 to COMPAT_SYSCALL_DEFINE
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | arch/sparc/kernel/sys_sparc32.c | 18 | ||||
-rw-r--r-- | arch/sparc/kernel/systbls.h | 12 | ||||
-rw-r--r-- | arch/sparc/kernel/systbls_64.S | 2 |
3 files changed, 13 insertions, 19 deletions
diff --git a/arch/sparc/kernel/sys_sparc32.c b/arch/sparc/kernel/sys_sparc32.c index b266797fee99..50e9e4fdd8c6 100644 --- a/arch/sparc/kernel/sys_sparc32.c +++ b/arch/sparc/kernel/sys_sparc32.c | |||
@@ -194,22 +194,16 @@ COMPAT_SYSCALL_DEFINE5(rt_sigaction, int, sig, | |||
194 | return ret; | 194 | return ret; |
195 | } | 195 | } |
196 | 196 | ||
197 | asmlinkage compat_ssize_t sys32_pread64(unsigned int fd, | 197 | COMPAT_SYSCALL_DEFINE5(pread64, unsigned int, fd, char __user *, ubuf, |
198 | char __user *ubuf, | 198 | compat_size_t, count, u32, poshi, u32, poslo) |
199 | compat_size_t count, | ||
200 | unsigned long poshi, | ||
201 | unsigned long poslo) | ||
202 | { | 199 | { |
203 | return sys_pread64(fd, ubuf, count, (poshi << 32) | poslo); | 200 | return sys_pread64(fd, ubuf, count, ((u64)poshi << 32) | poslo); |
204 | } | 201 | } |
205 | 202 | ||
206 | asmlinkage compat_ssize_t sys32_pwrite64(unsigned int fd, | 203 | COMPAT_SYSCALL_DEFINE5(pwrite64, unsigned int, fd, char __user *, ubuf, |
207 | char __user *ubuf, | 204 | compat_size_t, count, u32, poshi, u32, poslo) |
208 | compat_size_t count, | ||
209 | unsigned long poshi, | ||
210 | unsigned long poslo) | ||
211 | { | 205 | { |
212 | return sys_pwrite64(fd, ubuf, count, (poshi << 32) | poslo); | 206 | return sys_pwrite64(fd, ubuf, count, ((u64)poshi << 32) | poslo); |
213 | } | 207 | } |
214 | 208 | ||
215 | COMPAT_SYSCALL_DEFINE4(readahead, int, fd, u32, offhi, u32, offlo, | 209 | COMPAT_SYSCALL_DEFINE4(readahead, int, fd, u32, offhi, u32, offlo, |
diff --git a/arch/sparc/kernel/systbls.h b/arch/sparc/kernel/systbls.h index 0ff3da78e09b..922c253ee086 100644 --- a/arch/sparc/kernel/systbls.h +++ b/arch/sparc/kernel/systbls.h | |||
@@ -65,16 +65,16 @@ asmlinkage long compat_sys_fstat64(unsigned int fd, | |||
65 | asmlinkage long compat_sys_fstatat64(unsigned int dfd, | 65 | asmlinkage long compat_sys_fstatat64(unsigned int dfd, |
66 | const char __user *filename, | 66 | const char __user *filename, |
67 | struct compat_stat64 __user * statbuf, int flag); | 67 | struct compat_stat64 __user * statbuf, int flag); |
68 | asmlinkage compat_ssize_t sys32_pread64(unsigned int fd, | 68 | asmlinkage long compat_sys_pread64(unsigned int fd, |
69 | char __user *ubuf, | 69 | char __user *ubuf, |
70 | compat_size_t count, | 70 | compat_size_t count, |
71 | unsigned long poshi, | 71 | u32 poshi, |
72 | unsigned long poslo); | 72 | u32 poslo); |
73 | asmlinkage compat_ssize_t sys32_pwrite64(unsigned int fd, | 73 | asmlinkage long compat_sys_pwrite64(unsigned int fd, |
74 | char __user *ubuf, | 74 | char __user *ubuf, |
75 | compat_size_t count, | 75 | compat_size_t count, |
76 | unsigned long poshi, | 76 | u32 poshi, |
77 | unsigned long poslo); | 77 | u32 poslo); |
78 | asmlinkage long compat_sys_readahead(int fd, | 78 | asmlinkage long compat_sys_readahead(int fd, |
79 | unsigned offhi, | 79 | unsigned offhi, |
80 | unsigned offlo, | 80 | unsigned offlo, |
diff --git a/arch/sparc/kernel/systbls_64.S b/arch/sparc/kernel/systbls_64.S index 9d10daa5a121..34dde99548b0 100644 --- a/arch/sparc/kernel/systbls_64.S +++ b/arch/sparc/kernel/systbls_64.S | |||
@@ -32,7 +32,7 @@ sys_call_table32: | |||
32 | /*50*/ .word sys_getegid16, sys_acct, sys_nis_syscall, sys_getgid, compat_sys_ioctl | 32 | /*50*/ .word sys_getegid16, sys_acct, sys_nis_syscall, sys_getgid, compat_sys_ioctl |
33 | .word sys_reboot, sys32_mmap2, sys_symlink, sys_readlink, sys32_execve | 33 | .word sys_reboot, sys32_mmap2, sys_symlink, sys_readlink, sys32_execve |
34 | /*60*/ .word sys_umask, sys_chroot, compat_sys_newfstat, compat_sys_fstat64, sys_getpagesize | 34 | /*60*/ .word sys_umask, sys_chroot, compat_sys_newfstat, compat_sys_fstat64, sys_getpagesize |
35 | .word sys_msync, sys_vfork, sys32_pread64, sys32_pwrite64, sys_geteuid | 35 | .word sys_msync, sys_vfork, compat_sys_pread64, compat_sys_pwrite64, sys_geteuid |
36 | /*70*/ .word sys_getegid, sys_mmap, sys_setreuid, sys_munmap, sys_mprotect | 36 | /*70*/ .word sys_getegid, sys_mmap, sys_setreuid, sys_munmap, sys_mprotect |
37 | .word sys_madvise, sys_vhangup, sys32_truncate64, sys_mincore, sys_getgroups16 | 37 | .word sys_madvise, sys_vhangup, sys32_truncate64, sys_mincore, sys_getgroups16 |
38 | /*80*/ .word sys_setgroups16, sys_getpgrp, sys_setgroups, compat_sys_setitimer, sys32_ftruncate64 | 38 | /*80*/ .word sys_setgroups16, sys_getpgrp, sys_setgroups, compat_sys_setitimer, sys32_ftruncate64 |