diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2009-03-27 20:36:09 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-03-30 08:49:40 -0400 |
commit | d6c178e9694e7e0c7ffe0289cf4389a498cac735 (patch) | |
tree | 8983f9b6964fb5e530a52450e0b92b5f88def2eb /arch | |
parent | 0e6826c73c9aa785ec58b52613df7699fb31af9a (diff) |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/kernel/linux32.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c index 2a472713de8e..6242bc68add7 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, | |||
133 | return sys_ftruncate(fd, merge_64(a2, a3)); | 133 | return sys_ftruncate(fd, merge_64(a2, a3)); |
134 | } | 134 | } |
135 | 135 | ||
136 | SYSCALL_DEFINE5(32_llseek, unsigned long, fd, unsigned long, offset_high, | 136 | SYSCALL_DEFINE5(32_llseek, unsigned int, fd, unsigned int, offset_high, |
137 | unsigned long, offset_low, loff_t __user *, result, | 137 | unsigned int, offset_low, loff_t __user *, result, |
138 | unsigned long, origin) | 138 | unsigned int, origin) |
139 | { | 139 | { |
140 | return sys_llseek(fd, offset_high, offset_low, result, origin); | 140 | return sys_llseek(fd, offset_high, offset_low, result, origin); |
141 | } | 141 | } |