[kernel] r13253 - in dists/lenny/linux-2.6/debian: . patches/bugfix/all patches/series

Dann Frazier dannf at alioth.debian.org
Tue Mar 24 23:52:51 UTC 2009


Author: dannf
Date: Tue Mar 24 23:52:47 2009
New Revision: 13253

Log:
[mips64] Fix sign extend issue in llseek syscall (Closes: #521016)

Added:
   dists/lenny/linux-2.6/debian/patches/bugfix/all/fix-llseek-sign-extend-issue.patch
Modified:
   dists/lenny/linux-2.6/debian/changelog
   dists/lenny/linux-2.6/debian/patches/series/14

Modified: dists/lenny/linux-2.6/debian/changelog
==============================================================================
--- dists/lenny/linux-2.6/debian/changelog	(original)
+++ dists/lenny/linux-2.6/debian/changelog	Tue Mar 24 23:52:47 2009
@@ -1,4 +1,4 @@
-linux-2.6 (2.6.26-14) UNRELEASED; urgency=low
+linux-2.6 (2.6.26-14) stable; urgency=high
 
   [ Moritz Muehlenhoff ]
   * Add support for Acer Aspire One with ALC269 codec chip. (Closes: #505250)
@@ -44,6 +44,7 @@
   * Make the max number of lockd connections configurable and increase
     the default from 80 to the more reasonable 1024 (Closes: #520379)
   * [x86, vmi] Fix missing paravirt_release_pmd in pgd_dtor (Closes: #520677)
+  * [mips64] Fix sign extend issue in llseek syscall (Closes: #521016)
 
   [ Martin Michlmayr ]
   * rt2x00: Fix VGC lower bound initialization. (Closes: #510607)

Added: dists/lenny/linux-2.6/debian/patches/bugfix/all/fix-llseek-sign-extend-issue.patch
==============================================================================
--- (empty file)
+++ dists/lenny/linux-2.6/debian/patches/bugfix/all/fix-llseek-sign-extend-issue.patch	Tue Mar 24 23:52:47 2009
@@ -0,0 +1,70 @@
+Here is a patch for testing.
+
+  Ralf
+
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+
+ arch/mips/kernel/linux32.c     |    7 -------
+ arch/mips/kernel/scall64-o32.S |    2 +-
+ fs/read_write.c                |    4 ++--
+ 3 files changed, 3 insertions(+), 10 deletions(-)
+
+Backport to Debian's 2.6.26 by dann frazier <dannf at debian.org>
+
+diff -urpN a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c
+--- a/arch/mips/kernel/linux32.c	2009-03-24 14:21:04.000000000 -0600
++++ b/arch/mips/kernel/linux32.c	2009-03-24 14:23:58.000000000 -0600
+@@ -253,13 +253,6 @@ sys32_settimeofday(struct compat_timeval
+ 	return do_sys_settimeofday(tv ? &kts : NULL, tz ? &ktz : NULL);
+ }
+ 
+-SYSCALL_DEFINE5(32_llseek, unsigned long, fd, unsigned long, offset_high,
+-	unsigned long, offset_low, loff_t __user *, result,
+-	unsigned long, origin)
+-{
+-	return sys_llseek(fd, offset_high, offset_low, result, origin);
+-}
+-
+ /* From the Single Unix Spec: pread & pwrite act like lseek to pos + op +
+    lseek back to original location.  They fail just like lseek does on
+    non-seekable files.  */
+diff -urpN a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
+--- a/arch/mips/kernel/scall64-o32.S	2009-03-24 14:21:04.000000000 -0600
++++ b/arch/mips/kernel/scall64-o32.S	2009-03-24 14:23:58.000000000 -0600
+@@ -343,7 +343,7 @@ sys_call_table:
+ 	PTR	sys_ni_syscall	 		/* for afs_syscall */
+ 	PTR	sys_setfsuid
+ 	PTR	sys_setfsgid
+-	PTR	sys_32_llseek			/* 4140 */
++	PTR	sys_llseek			/* 4140 */
+ 	PTR	compat_sys_getdents
+ 	PTR	compat_sys_select
+ 	PTR	sys_flock
+diff -urpN a/fs/read_write.c b/fs/read_write.c
+--- a/fs/read_write.c	2009-03-24 14:21:04.000000000 -0600
++++ b/fs/read_write.c	2009-03-24 14:23:58.000000000 -0600
+@@ -152,8 +152,8 @@ bad:
+ }
+ 
+ #ifdef __ARCH_WANT_SYS_LLSEEK
+-SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned long, offset_high,
+-		unsigned long, offset_low, loff_t __user *, result,
++SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned int, offset_high,
++		unsigned int, offset_low, loff_t __user *, result,
+ 		unsigned int, origin)
+ {
+ 	int retval;
+diff -urpN a/include/linux/syscalls.h b/include/linux/syscalls.h
+--- a/include/linux/syscalls.h	2009-03-24 14:21:04.000000000 -0600
++++ b/include/linux/syscalls.h	2009-03-24 14:25:05.000000000 -0600
+@@ -443,8 +443,8 @@ asmlinkage long sys_utimes(char __user *
+ 				struct timeval __user *utimes);
+ asmlinkage long sys_lseek(unsigned int fd, off_t offset,
+ 			  unsigned int origin);
+-asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high,
+-			unsigned long offset_low, loff_t __user *result,
++asmlinkage long sys_llseek(unsigned int fd, unsigned int offset_high,
++			unsigned int offset_low, loff_t __user *result,
+ 			unsigned int origin);
+ asmlinkage long sys_read(unsigned int fd, char __user *buf, size_t count);
+ asmlinkage long sys_readahead(int fd, loff_t offset, size_t count);

Modified: dists/lenny/linux-2.6/debian/patches/series/14
==============================================================================
--- dists/lenny/linux-2.6/debian/patches/series/14	(original)
+++ dists/lenny/linux-2.6/debian/patches/series/14	Tue Mar 24 23:52:47 2009
@@ -37,3 +37,4 @@
 + bugfix/all/net-kill-skb_truesize_check.patch
 + bugfix/x86/paravirt-add-pgd_alloc-free-hooks.patch
 + bugfix/x86/vmi-add-missing-paravirt_release_pmd.patch
++ bugfix/all/fix-llseek-sign-extend-issue.patch



More information about the Kernel-svn-changes mailing list