31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
commit d6c178e9694e7e0c7ffe0289cf4389a498cac735
|
|
Author: Ralf Baechle <ralf@linux-mips.org>
|
|
Date: Sat Mar 28 01:36:09 2009 +0100
|
|
|
|
MIPS: Compat: Zero upper 32-bit of offset_high and offset_low.
|
|
|
|
Through sys_llseek() arguably should do exactly that it doesn't which
|
|
means llseek(2) will fail for o32 processes if offset_low has bit 31 set.
|
|
|
|
As suggested by Heiko Carstens.
|
|
|
|
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
|
|
|
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c
|
|
index 2a47271..6242bc6 100644
|
|
--- a/arch/mips/kernel/linux32.c
|
|
+++ b/arch/mips/kernel/linux32.c
|
|
@@ -133,9 +133,9 @@ SYSCALL_DEFINE4(32_ftruncate64, unsigned long, fd, unsigned long, __dummy,
|
|
return sys_ftruncate(fd, merge_64(a2, a3));
|
|
}
|
|
|
|
-SYSCALL_DEFINE5(32_llseek, unsigned long, fd, unsigned long, offset_high,
|
|
- unsigned long, offset_low, loff_t __user *, result,
|
|
- unsigned long, origin)
|
|
+SYSCALL_DEFINE5(32_llseek, unsigned int, fd, unsigned int, offset_high,
|
|
+ unsigned int, offset_low, loff_t __user *, result,
|
|
+ unsigned int, origin)
|
|
{
|
|
return sys_llseek(fd, offset_high, offset_low, result, origin);
|
|
}
|