[mips] Zero upper 32-bits of compat llseek (closes: #521016)

svn path=/dists/sid/linux-2.6/; revision=13320
This commit is contained in:
dann frazier 2009-04-04 00:29:16 +00:00
parent 8bb5dc230d
commit 291a3805be
3 changed files with 32 additions and 0 deletions

1
debian/changelog vendored
View File

@ -16,6 +16,7 @@ linux-2.6 (2.6.29-2) UNRELEASED; urgency=low
[ dann frazier ]
* bnx2: correct firmware revisions (closes: #522049)
* [mips] Zero upper 32-bits of compat llseek (closes: #521016)
-- Martin Michlmayr <tbm@cyrius.com> Wed, 25 Mar 2009 08:57:14 +0100

View File

@ -0,0 +1,30 @@
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);
}

View File

@ -1,2 +1,3 @@
+ debian/dfsg/drivers-net-bnx2-fw-verfix.patch
+ bugfix/all/stable/patch-2.6.29.1
+ bugfix/mips/compat-zero-upper-32bits-of-offset_high-and-offset_low.patch