Commit d4e9cffa161da806cb4bc9df4a4e49d287156bfa
1 parent
0e8774b621
Exists in
master
and in
7 other branches
[MIPS] compat: handle argument endianess of sys32_(f)truncate64 with merge_64
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Showing 1 changed file with 5 additions and 25 deletions Side-by-side Diff
arch/mips/kernel/linux32.c
... | ... | @@ -174,36 +174,16 @@ |
174 | 174 | int rlim_max; |
175 | 175 | }; |
176 | 176 | |
177 | -#ifdef __MIPSEB__ | |
178 | -asmlinkage long sys32_truncate64(const char __user * path, unsigned long __dummy, | |
179 | - int length_hi, int length_lo) | |
180 | -#endif | |
181 | -#ifdef __MIPSEL__ | |
182 | -asmlinkage long sys32_truncate64(const char __user * path, unsigned long __dummy, | |
183 | - int length_lo, int length_hi) | |
184 | -#endif | |
177 | +asmlinkage long sys32_truncate64(const char __user * path, | |
178 | + unsigned long __dummy, int a2, int a3) | |
185 | 179 | { |
186 | - loff_t length; | |
187 | - | |
188 | - length = ((unsigned long) length_hi << 32) | (unsigned int) length_lo; | |
189 | - | |
190 | - return sys_truncate(path, length); | |
180 | + return sys_truncate(path, merge_64(a2, a3)); | |
191 | 181 | } |
192 | 182 | |
193 | -#ifdef __MIPSEB__ | |
194 | 183 | asmlinkage long sys32_ftruncate64(unsigned int fd, unsigned long __dummy, |
195 | - int length_hi, int length_lo) | |
196 | -#endif | |
197 | -#ifdef __MIPSEL__ | |
198 | -asmlinkage long sys32_ftruncate64(unsigned int fd, unsigned long __dummy, | |
199 | - int length_lo, int length_hi) | |
200 | -#endif | |
184 | + int a2, int a3) | |
201 | 185 | { |
202 | - loff_t length; | |
203 | - | |
204 | - length = ((unsigned long) length_hi << 32) | (unsigned int) length_lo; | |
205 | - | |
206 | - return sys_ftruncate(fd, length); | |
186 | + return sys_ftruncate(fd, merge_64(a2, a3)); | |
207 | 187 | } |
208 | 188 | |
209 | 189 | static inline long |