diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-24 13:49:08 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-25 09:24:55 -0500 |
commit | 3f6d078d4accfff8b114f968259a060bfdc7c682 (patch) | |
tree | 8de5ba3fc3ea069e5f5fe43e8d0796ff4ef9bcaa /arch | |
parent | 561c6731978fa128f29342495f47fc3365898b3d (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.h | 4 | ||||
-rw-r--r-- | arch/mips/kernel/scall64-o32.S | 4 | ||||
-rw-r--r-- | arch/parisc/kernel/syscall_table.S | 4 | ||||
-rw-r--r-- | arch/powerpc/kernel/sys_ppc32.c | 12 | ||||
-rw-r--r-- | arch/s390/kernel/compat_wrapper.S | 10 | ||||
-rw-r--r-- | arch/s390/kernel/syscalls.S | 4 | ||||
-rw-r--r-- | arch/sparc/kernel/sys32.S | 1 | ||||
-rw-r--r-- | arch/sparc/kernel/systbls_64.S | 4 | ||||
-rw-r--r-- | arch/x86/syscalls/syscall_32.tbl | 4 |
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 | ||
149 | long compat_sys_truncate(const char __user * path, u32 length) | ||
150 | { | ||
151 | /* sign extend length */ | ||
152 | return sys_truncate(path, (int)length); | ||
153 | } | ||
154 | |||
155 | long compat_sys_ftruncate(int fd, u32 length) | ||
156 | { | ||
157 | /* sign extend length */ | ||
158 | return sys_ftruncate(fd, (int)length); | ||
159 | } | ||
160 | |||
161 | unsigned long compat_sys_mmap2(unsigned long addr, size_t len, | 149 | unsigned 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 | ||
328 | ENTRY(sys32_truncate_wrapper) | ||
329 | llgtr %r2,%r2 # const char * | ||
330 | lgfr %r3,%r3 # long | ||
331 | jg sys_truncate # branch to system call | ||
332 | |||
333 | ENTRY(sys32_ftruncate_wrapper) | ||
334 | llgfr %r2,%r2 # unsigned int | ||
335 | llgfr %r3,%r3 # unsigned long | ||
336 | jg sys_ftruncate # branch to system call | ||
337 | |||
338 | ENTRY(sys32_fchmod_wrapper) | 328 | ENTRY(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) | |||
100 | SYSCALL(sys_ni_syscall,sys_ni_syscall,old32_readdir_wrapper) /* old readdir syscall */ | 100 | SYSCALL(sys_ni_syscall,sys_ni_syscall,old32_readdir_wrapper) /* old readdir syscall */ |
101 | SYSCALL(sys_old_mmap,sys_old_mmap,old32_mmap_wrapper) /* 90 */ | 101 | SYSCALL(sys_old_mmap,sys_old_mmap,old32_mmap_wrapper) /* 90 */ |
102 | SYSCALL(sys_munmap,sys_munmap,sys32_munmap_wrapper) | 102 | SYSCALL(sys_munmap,sys_munmap,sys32_munmap_wrapper) |
103 | SYSCALL(sys_truncate,sys_truncate,sys32_truncate_wrapper) | 103 | SYSCALL(sys_truncate,sys_truncate,compat_sys_truncate) |
104 | SYSCALL(sys_ftruncate,sys_ftruncate,sys32_ftruncate_wrapper) | 104 | SYSCALL(sys_ftruncate,sys_ftruncate,compat_sys_ftruncate) |
105 | SYSCALL(sys_fchmod,sys_fchmod,sys32_fchmod_wrapper) | 105 | SYSCALL(sys_fchmod,sys_fchmod,sys32_fchmod_wrapper) |
106 | SYSCALL(sys_fchown16,sys_ni_syscall,sys32_fchown16_wrapper) /* 95 old fchown16 syscall*/ | 106 | SYSCALL(sys_fchown16,sys_ni_syscall,sys32_fchown16_wrapper) /* 95 old fchown16 syscall*/ |
107 | SYSCALL(sys_getpriority,sys_getpriority,sys32_getpriority_wrapper) | 107 | SYSCALL(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) | |||
52 | SIGN1(sys32_sendmsg, compat_sys_sendmsg, %o0) | 52 | SIGN1(sys32_sendmsg, compat_sys_sendmsg, %o0) |
53 | SIGN2(sys32_sync_file_range, compat_sync_file_range, %o0, %o5) | 53 | SIGN2(sys32_sync_file_range, compat_sync_file_range, %o0, %o5) |
54 | SIGN1(sys32_vmsplice, compat_sys_vmsplice, %o0) | 54 | SIGN1(sys32_vmsplice, compat_sys_vmsplice, %o0) |
55 | SIGN1(sys32_truncate, sys_truncate, %o1) | ||
56 | 55 | ||
57 | .globl sys32_mmap2 | 56 | .globl sys32_mmap2 |
58 | sys32_mmap2: | 57 | sys32_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 @@ | |||
98 | 89 i386 readdir sys_old_readdir compat_sys_old_readdir | 98 | 89 i386 readdir sys_old_readdir compat_sys_old_readdir |
99 | 90 i386 mmap sys_old_mmap sys32_mmap | 99 | 90 i386 mmap sys_old_mmap sys32_mmap |
100 | 91 i386 munmap sys_munmap | 100 | 91 i386 munmap sys_munmap |
101 | 92 i386 truncate sys_truncate | 101 | 92 i386 truncate sys_truncate compat_sys_truncate |
102 | 93 i386 ftruncate sys_ftruncate | 102 | 93 i386 ftruncate sys_ftruncate compat_sys_ftruncate |
103 | 94 i386 fchmod sys_fchmod | 103 | 94 i386 fchmod sys_fchmod |
104 | 95 i386 fchown sys_fchown16 | 104 | 95 i386 fchown sys_fchown16 |
105 | 96 i386 getpriority sys_getpriority | 105 | 96 i386 getpriority sys_getpriority |