[kernel] r12959 - in dists/etch-security/linux-2.6.24/debian/patches: bugfix/all/CVE-2009-0029 series

Dann Frazier dannf at alioth.debian.org
Mon Mar 2 06:34:26 UTC 2009


Author: dannf
Date: Mon Mar  2 06:34:25 2009
New Revision: 12959

Log:
additional mips patches

Added:
   dists/etch-security/linux-2.6.24/debian/patches/bugfix/all/CVE-2009-0029/mips-finish-fixing-CVE-2009-0029.patch
      - copied unchanged from r12952, /dists/lenny-security/linux-2.6/debian/patches/bugfix/all/CVE-2009-0029/mips-finish-fixing-CVE-2009-0029.patch
   dists/etch-security/linux-2.6.24/debian/patches/bugfix/all/CVE-2009-0029/mips-rename-sys_pipe.patch
   dists/etch-security/linux-2.6.24/debian/patches/bugfix/all/CVE-2009-0029/mips-wire-up-o32-syscall-to-the-right-function.patch
      - copied unchanged from r12952, /dists/lenny-security/linux-2.6/debian/patches/bugfix/all/CVE-2009-0029/mips-wire-up-o32-syscall-to-the-right-function.patch
Modified:
   dists/etch-security/linux-2.6.24/debian/patches/series/6~etchnhalf.8etch1

Added: dists/etch-security/linux-2.6.24/debian/patches/bugfix/all/CVE-2009-0029/mips-rename-sys_pipe.patch
==============================================================================
--- (empty file)
+++ dists/etch-security/linux-2.6.24/debian/patches/bugfix/all/CVE-2009-0029/mips-rename-sys_pipe.patch	Mon Mar  2 06:34:25 2009
@@ -0,0 +1,77 @@
+commit 8213bbf9c1c0009872a3278aa7a83ec8f3508195
+Author: Ralf Baechle <ralf at linux-mips.org>
+Date:   Sun Jul 20 13:16:46 2008 +0100
+
+    [MIPS] Rename MIPS sys_pipe syscall entry point to something MIPS-specific.
+    
+    Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf at debian.org>
+
+diff -urpN a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
+--- a/arch/mips/kernel/scall32-o32.S	2009-03-01 22:49:19.000000000 +0000
++++ b/arch/mips/kernel/scall32-o32.S	2009-03-02 01:33:25.000000000 +0000
+@@ -366,7 +366,7 @@ einval:	li	v0, -EINVAL
+ 	sys	sys_mkdir		2
+ 	sys	sys_rmdir		1	/* 4040 */
+ 	sys	sys_dup			1
+-	sys	sys_pipe		0
++	sys	sysm_pipe		0
+ 	sys	sys_times		1
+ 	sys	sys_ni_syscall		0
+ 	sys	sys_brk			1	/* 4045 */
+diff -urpN a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
+--- a/arch/mips/kernel/scall64-64.S	2008-07-13 21:51:29.000000000 +0000
++++ b/arch/mips/kernel/scall64-64.S	2009-03-02 01:33:25.000000000 +0000
+@@ -219,7 +219,7 @@ sys_call_table:
+ 	PTR	sys_readv
+ 	PTR	sys_writev
+ 	PTR	sys_access			/* 5020 */
+-	PTR	sys_pipe
++	PTR	sysm_pipe
+ 	PTR	sys_select
+ 	PTR	sys_sched_yield
+ 	PTR	sys_mremap
+diff -urpN a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
+--- a/arch/mips/kernel/scall64-n32.S	2009-03-01 22:49:25.000000000 +0000
++++ b/arch/mips/kernel/scall64-n32.S	2009-03-02 01:33:25.000000000 +0000
+@@ -141,7 +141,7 @@ EXPORT(sysn32_call_table)
+ 	PTR	compat_sys_readv
+ 	PTR	compat_sys_writev
+ 	PTR	sys_access			/* 6020 */
+-	PTR	sys_pipe
++	PTR	sysm_pipe
+ 	PTR	compat_sys_select
+ 	PTR	sys_sched_yield
+ 	PTR	sys_mremap
+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-01 22:49:25.000000000 +0000
++++ b/arch/mips/kernel/scall64-o32.S	2009-03-02 01:33:25.000000000 +0000
+@@ -245,7 +245,7 @@ sys_call_table:
+ 	PTR	sys_mkdir
+ 	PTR	sys_rmdir			/* 4040 */
+ 	PTR	sys_dup
+-	PTR	sys_pipe
++	PTR	sysm_pipe
+ 	PTR	compat_sys_times
+ 	PTR	sys_ni_syscall
+ 	PTR	sys_brk				/* 4045 */
+diff -urpN a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
+--- a/arch/mips/kernel/syscall.c	2008-07-13 21:51:29.000000000 +0000
++++ b/arch/mips/kernel/syscall.c	2009-03-02 01:33:25.000000000 +0000
+@@ -40,7 +40,14 @@
+ #include <asm/sysmips.h>
+ #include <asm/uaccess.h>
+ 
+-asmlinkage int sys_pipe(nabi_no_regargs volatile struct pt_regs regs)
++/*
++ * For historic reasons the pipe(2) syscall on MIPS has an unusual calling
++ * convention.  It returns results in registers $v0 / $v1 which means there
++ * is no need for it to do verify the validity of a userspace pointer
++ * argument.  Historically that used to be expensive in Linux.  These days
++ * the performance advantage is negligible.
++ */
++asmlinkage int sysm_pipe(nabi_no_regargs volatile struct pt_regs regs)
+ {
+ 	int fd[2];
+ 	int error, res;

Modified: dists/etch-security/linux-2.6.24/debian/patches/series/6~etchnhalf.8etch1
==============================================================================
--- dists/etch-security/linux-2.6.24/debian/patches/series/6~etchnhalf.8etch1	(original)
+++ dists/etch-security/linux-2.6.24/debian/patches/series/6~etchnhalf.8etch1	Mon Mar  2 06:34:25 2009
@@ -63,3 +63,6 @@
 + bugfix/hppa/userspace-unwind-crash.patch
 + bugfix/all/net-SO_BSDCOMPAT-leak.patch
 + bugfix/all/net-SO_BSDCOMPAT-leak-2.patch
++ bugfix/all/CVE-2009-0029/mips-wire-up-o32-syscall-to-the-right-function.patch
++ bugfix/all/CVE-2009-0029/mips-finish-fixing-CVE-2009-0029.patch
++ bugfix/all/CVE-2009-0029/mips-rename-sys_pipe.patch



More information about the Kernel-svn-changes mailing list