aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-02-24 13:49:08 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2013-02-25 09:24:55 -0500
commit3f6d078d4accfff8b114f968259a060bfdc7c682 (patch)
tree8de5ba3fc3ea069e5f5fe43e8d0796ff4ef9bcaa /arch
parent561c6731978fa128f29342495f47fc3365898b3d (diff)
fix compat truncate/ftruncate
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm64/include/asm/unistd32.h4
-rw-r--r--arch/mips/kernel/scall64-o32.S4
-rw-r--r--arch/parisc/kernel/syscall_table.S4
-rw-r--r--arch/powerpc/kernel/sys_ppc32.c12
-rw-r--r--arch/s390/kernel/compat_wrapper.S10
-rw-r--r--arch/s390/kernel/syscalls.S4
-rw-r--r--arch/sparc/kernel/sys32.S1
-rw-r--r--arch/sparc/kernel/systbls_64.S4
-rw-r--r--arch/x86/syscalls/syscall_32.tbl4
9 files changed, 12 insertions, 35 deletions
diff --git a/arch/arm64/include/asm/unistd32.h b/arch/arm64/include/asm/unistd32.h
index 8153f1a43f0a..12f22492df4c 100644
--- a/arch/arm64/include/asm/unistd32.h
+++ b/arch/arm64/include/asm/unistd32.h
@@ -113,8 +113,8 @@ __SYSCALL(88, sys_reboot)
113__SYSCALL(89, sys_ni_syscall) /* 89 was sys_readdir */ 113__SYSCALL(89, sys_ni_syscall) /* 89 was sys_readdir */
114__SYSCALL(90, sys_ni_syscall) /* 90 was sys_mmap */ 114__SYSCALL(90, sys_ni_syscall) /* 90 was sys_mmap */
115__SYSCALL(91, sys_munmap) 115__SYSCALL(91, sys_munmap)
116__SYSCALL(92, sys_truncate) 116__SYSCALL(92, compat_sys_truncate)
117__SYSCALL(93, sys_ftruncate) 117__SYSCALL(93, compat_sys_ftruncate)
118__SYSCALL(94, sys_fchmod) 118__SYSCALL(94, sys_fchmod)
119__SYSCALL(95, sys_fchown16) 119__SYSCALL(95, sys_fchown16)
120__SYSCALL(96, sys_getpriority) 120__SYSCALL(96, sys_getpriority)
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
index 063cd0d6ddd2..20b100f9d360 100644
--- a/arch/mips/kernel/scall64-o32.S
+++ b/arch/mips/kernel/scall64-o32.S
@@ -284,8 +284,8 @@ sys_call_table:
284 PTR compat_sys_old_readdir 284 PTR compat_sys_old_readdir
285 PTR sys_mips_mmap /* 4090 */ 285 PTR sys_mips_mmap /* 4090 */
286 PTR sys_munmap 286 PTR sys_munmap
287 PTR sys_truncate 287 PTR compat_sys_truncate
288 PTR sys_ftruncate 288 PTR compat_sys_ftruncate
289 PTR sys_fchmod 289 PTR sys_fchmod
290 PTR sys_fchown /* 4095 */ 290 PTR sys_fchown /* 4095 */
291 PTR sys_getpriority 291 PTR sys_getpriority
diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S
index d0efc0aeb612..884b91b028f0 100644
--- a/arch/parisc/kernel/syscall_table.S
+++ b/arch/parisc/kernel/syscall_table.S
@@ -165,8 +165,8 @@
165 ENTRY_SAME(mmap2) 165 ENTRY_SAME(mmap2)
166 ENTRY_SAME(mmap) /* 90 */ 166 ENTRY_SAME(mmap) /* 90 */
167 ENTRY_SAME(munmap) 167 ENTRY_SAME(munmap)
168 ENTRY_SAME(truncate) 168 ENTRY_COMP(truncate)
169 ENTRY_SAME(ftruncate) 169 ENTRY_COMP(ftruncate)
170 ENTRY_SAME(fchmod) 170 ENTRY_SAME(fchmod)
171 ENTRY_SAME(fchown) /* 95 */ 171 ENTRY_SAME(fchown) /* 95 */
172 ENTRY_SAME(getpriority) 172 ENTRY_SAME(getpriority)
diff --git a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c
index 5677a36f450b..d0bafc0cdf06 100644
--- a/arch/powerpc/kernel/sys_ppc32.c
+++ b/arch/powerpc/kernel/sys_ppc32.c
@@ -146,18 +146,6 @@ asmlinkage long compat_sys_sendfile64_wrapper(u32 out_fd, u32 in_fd,
146 (off_t __user *)offset, count); 146 (off_t __user *)offset, count);
147} 147}
148 148
149long compat_sys_truncate(const char __user * path, u32 length)
150{
151 /* sign extend length */
152 return sys_truncate(path, (int)length);
153}
154
155long compat_sys_ftruncate(int fd, u32 length)
156{
157 /* sign extend length */
158 return sys_ftruncate(fd, (int)length);
159}
160
161unsigned long compat_sys_mmap2(unsigned long addr, size_t len, 149unsigned long compat_sys_mmap2(unsigned long addr, size_t len,
162 unsigned long prot, unsigned long flags, 150 unsigned long prot, unsigned long flags,
163 unsigned long fd, unsigned long pgoff) 151 unsigned long fd, unsigned long pgoff)
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S
index 2b1a3a03244f..3c98c4dc5aca 100644
--- a/arch/s390/kernel/compat_wrapper.S
+++ b/arch/s390/kernel/compat_wrapper.S
@@ -325,16 +325,6 @@ ENTRY(sys32_munmap_wrapper)
325 llgfr %r3,%r3 # size_t 325 llgfr %r3,%r3 # size_t
326 jg sys_munmap # branch to system call 326 jg sys_munmap # branch to system call
327 327
328ENTRY(sys32_truncate_wrapper)
329 llgtr %r2,%r2 # const char *
330 lgfr %r3,%r3 # long
331 jg sys_truncate # branch to system call
332
333ENTRY(sys32_ftruncate_wrapper)
334 llgfr %r2,%r2 # unsigned int
335 llgfr %r3,%r3 # unsigned long
336 jg sys_ftruncate # branch to system call
337
338ENTRY(sys32_fchmod_wrapper) 328ENTRY(sys32_fchmod_wrapper)
339 llgfr %r2,%r2 # unsigned int 329 llgfr %r2,%r2 # unsigned int
340 llgfr %r3,%r3 # mode_t 330 llgfr %r3,%r3 # mode_t
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S
index 0e5262f01007..630b935d1284 100644
--- a/arch/s390/kernel/syscalls.S
+++ b/arch/s390/kernel/syscalls.S
@@ -100,8 +100,8 @@ SYSCALL(sys_reboot,sys_reboot,sys32_reboot_wrapper)
100SYSCALL(sys_ni_syscall,sys_ni_syscall,old32_readdir_wrapper) /* old readdir syscall */ 100SYSCALL(sys_ni_syscall,sys_ni_syscall,old32_readdir_wrapper) /* old readdir syscall */
101SYSCALL(sys_old_mmap,sys_old_mmap,old32_mmap_wrapper) /* 90 */ 101SYSCALL(sys_old_mmap,sys_old_mmap,old32_mmap_wrapper) /* 90 */
102SYSCALL(sys_munmap,sys_munmap,sys32_munmap_wrapper) 102SYSCALL(sys_munmap,sys_munmap,sys32_munmap_wrapper)
103SYSCALL(sys_truncate,sys_truncate,sys32_truncate_wrapper) 103SYSCALL(sys_truncate,sys_truncate,compat_sys_truncate)
104SYSCALL(sys_ftruncate,sys_ftruncate,sys32_ftruncate_wrapper) 104SYSCALL(sys_ftruncate,sys_ftruncate,compat_sys_ftruncate)
105SYSCALL(sys_fchmod,sys_fchmod,sys32_fchmod_wrapper) 105SYSCALL(sys_fchmod,sys_fchmod,sys32_fchmod_wrapper)
106SYSCALL(sys_fchown16,sys_ni_syscall,sys32_fchown16_wrapper) /* 95 old fchown16 syscall*/ 106SYSCALL(sys_fchown16,sys_ni_syscall,sys32_fchown16_wrapper) /* 95 old fchown16 syscall*/
107SYSCALL(sys_getpriority,sys_getpriority,sys32_getpriority_wrapper) 107SYSCALL(sys_getpriority,sys_getpriority,sys32_getpriority_wrapper)
diff --git a/arch/sparc/kernel/sys32.S b/arch/sparc/kernel/sys32.S
index be3d65a3c270..240a3cecc11e 100644
--- a/arch/sparc/kernel/sys32.S
+++ b/arch/sparc/kernel/sys32.S
@@ -52,7 +52,6 @@ SIGN1(sys32_recvmsg, compat_sys_recvmsg, %o0)
52SIGN1(sys32_sendmsg, compat_sys_sendmsg, %o0) 52SIGN1(sys32_sendmsg, compat_sys_sendmsg, %o0)
53SIGN2(sys32_sync_file_range, compat_sync_file_range, %o0, %o5) 53SIGN2(sys32_sync_file_range, compat_sync_file_range, %o0, %o5)
54SIGN1(sys32_vmsplice, compat_sys_vmsplice, %o0) 54SIGN1(sys32_vmsplice, compat_sys_vmsplice, %o0)
55SIGN1(sys32_truncate, sys_truncate, %o1)
56 55
57 .globl sys32_mmap2 56 .globl sys32_mmap2
58sys32_mmap2: 57sys32_mmap2:
diff --git a/arch/sparc/kernel/systbls_64.S b/arch/sparc/kernel/systbls_64.S
index 9ed517c5037b..088134834dab 100644
--- a/arch/sparc/kernel/systbls_64.S
+++ b/arch/sparc/kernel/systbls_64.S
@@ -43,8 +43,8 @@ sys_call_table32:
43/*110*/ .word sys_setresgid, sys_getresgid, sys_setregid, sys_nis_syscall, sys_nis_syscall 43/*110*/ .word sys_setresgid, sys_getresgid, sys_setregid, sys_nis_syscall, sys_nis_syscall
44 .word sys_getgroups, compat_sys_gettimeofday, sys32_getrusage, sys_nis_syscall, sys_getcwd 44 .word sys_getgroups, compat_sys_gettimeofday, sys32_getrusage, sys_nis_syscall, sys_getcwd
45/*120*/ .word compat_sys_readv, compat_sys_writev, compat_sys_settimeofday, sys_fchown16, sys_fchmod 45/*120*/ .word compat_sys_readv, compat_sys_writev, compat_sys_settimeofday, sys_fchown16, sys_fchmod
46 .word sys_nis_syscall, sys_setreuid16, sys_setregid16, sys_rename, sys32_truncate 46 .word sys_nis_syscall, sys_setreuid16, sys_setregid16, sys_rename, compat_sys_truncate
47/*130*/ .word sys_ftruncate, sys_flock, compat_sys_lstat64, sys_nis_syscall, sys_nis_syscall 47/*130*/ .word compat_sys_ftruncate, sys_flock, compat_sys_lstat64, sys_nis_syscall, sys_nis_syscall
48 .word sys_nis_syscall, sys_mkdir, sys_rmdir, compat_sys_utimes, compat_sys_stat64 48 .word sys_nis_syscall, sys_mkdir, sys_rmdir, compat_sys_utimes, compat_sys_stat64
49/*140*/ .word sys_sendfile64, sys_nis_syscall, sys32_futex, sys_gettid, compat_sys_getrlimit 49/*140*/ .word sys_sendfile64, sys_nis_syscall, sys32_futex, sys_gettid, compat_sys_getrlimit
50 .word compat_sys_setrlimit, sys_pivot_root, sys_prctl, sys_pciconfig_read, sys_pciconfig_write 50 .word compat_sys_setrlimit, sys_pivot_root, sys_prctl, sys_pciconfig_read, sys_pciconfig_write
diff --git a/arch/x86/syscalls/syscall_32.tbl b/arch/x86/syscalls/syscall_32.tbl
index f51810be1a32..e6d55f0064df 100644
--- a/arch/x86/syscalls/syscall_32.tbl
+++ b/arch/x86/syscalls/syscall_32.tbl
@@ -98,8 +98,8 @@
9889 i386 readdir sys_old_readdir compat_sys_old_readdir 9889 i386 readdir sys_old_readdir compat_sys_old_readdir
9990 i386 mmap sys_old_mmap sys32_mmap 9990 i386 mmap sys_old_mmap sys32_mmap
10091 i386 munmap sys_munmap 10091 i386 munmap sys_munmap
10192 i386 truncate sys_truncate 10192 i386 truncate sys_truncate compat_sys_truncate
10293 i386 ftruncate sys_ftruncate 10293 i386 ftruncate sys_ftruncate compat_sys_ftruncate
10394 i386 fchmod sys_fchmod 10394 i386 fchmod sys_fchmod
10495 i386 fchown sys_fchown16 10495 i386 fchown sys_fchown16
10596 i386 getpriority sys_getpriority 10596 i386 getpriority sys_getpriority