[kernel] r13183 - in dists/lenny/linux-2.6/debian: . patches/bugfix/all/CVE-2009-0029 patches/series

Dann Frazier dannf at alioth.debian.org
Fri Mar 20 16:02:21 UTC 2009


Author: dannf
Date: Fri Mar 20 16:02:19 2009
New Revision: 13183

Log:
Fixes for CVE-2009-0029 broke uml compilation; fix.

Added:
   dists/lenny/linux-2.6/debian/patches/bugfix/all/CVE-2009-0029/fix-uml-compile.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	Fri Mar 20 16:02:19 2009
@@ -25,6 +25,7 @@
   * [openvz] Fix oops in netlink conntrack module when loaded after
     a ve start (Closes: #511165)
   * [openvz] CPT: revert check on sk_reuse>1 (Closes: #500645)
+  * Fixes for CVE-2009-0029 broke uml compilation; fix.
 
   [ Martin Michlmayr ]
   * rt2x00: Fix VGC lower bound initialization. (Closes: #510607)
@@ -61,7 +62,7 @@
     context only
   * [openvz] 4909102 netfilter: call nf_register_hooks from VE0 context only.
 
- -- dann frazier <dannf at debian.org>  Tue, 17 Mar 2009 01:50:17 -0600
+ -- dann frazier <dannf at debian.org>  Fri, 20 Mar 2009 09:57:59 -0600
 
 linux-2.6 (2.6.26-13lenny2) stable-security; urgency=high
 

Added: dists/lenny/linux-2.6/debian/patches/bugfix/all/CVE-2009-0029/fix-uml-compile.patch
==============================================================================
--- (empty file)
+++ dists/lenny/linux-2.6/debian/patches/bugfix/all/CVE-2009-0029/fix-uml-compile.patch	Fri Mar 20 16:02:19 2009
@@ -0,0 +1,83 @@
+commit 6c5979631b4b03c9288776562c18036765e398c1
+Author: Heiko Carstens <heiko.carstens at de.ibm.com>
+Date:   Wed Feb 11 13:04:38 2009 -0800
+
+    syscall define: fix uml compile bug
+    
+    With the new system call defines we get this on uml:
+    
+    arch/um/sys-i386/built-in.o: In function `sys_call_table':
+    (.rodata+0x308): undefined reference to `sys_sigprocmask'
+    
+    Reason for this is that uml passes the preprocessor option
+    -Dsigprocmask=kernel_sigprocmask to gcc when compiling the kernel.
+    This causes SYSCALL_DEFINE3(sigprocmask, ...) to be expanded to
+    SYSCALL_DEFINEx(3, kernel_sigprocmask, ...) and finally to a system
+    call named sys_kernel_sigprocmask.  However sys_sigprocmask is missing
+    because of this.
+    
+    To avoid macro expansion for the system call name just concatenate the
+    name at first define instead of carrying it through severel levels.
+    This was pointed out by Al Viro.
+    
+    Signed-off-by: Heiko Carstens <heiko.carstens at de.ibm.com>
+    Cc: Geert Uytterhoeven <geert at linux-m68k.org>
+    Cc: Al Viro <viro at zeniv.linux.org.uk>
+    Reviewed-by: WANG Cong <wangcong at zeuux.org>
+    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
+
+diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
+index 0eda02f..f9f900c 100644
+--- a/include/linux/syscalls.h
++++ b/include/linux/syscalls.h
+@@ -95,13 +95,13 @@ struct old_linux_dirent;
+ #define __SC_TEST5(t5, a5, ...)	__SC_TEST(t5); __SC_TEST4(__VA_ARGS__)
+ #define __SC_TEST6(t6, a6, ...)	__SC_TEST(t6); __SC_TEST5(__VA_ARGS__)
+ 
+-#define SYSCALL_DEFINE0(name)   asmlinkage long sys_##name(void)
+-#define SYSCALL_DEFINE1(...)    SYSCALL_DEFINEx(1, __VA_ARGS__)
+-#define SYSCALL_DEFINE2(...)    SYSCALL_DEFINEx(2, __VA_ARGS__)
+-#define SYSCALL_DEFINE3(...)    SYSCALL_DEFINEx(3, __VA_ARGS__)
+-#define SYSCALL_DEFINE4(...)    SYSCALL_DEFINEx(4, __VA_ARGS__)
+-#define SYSCALL_DEFINE5(...)    SYSCALL_DEFINEx(5, __VA_ARGS__)
+-#define SYSCALL_DEFINE6(...)    SYSCALL_DEFINEx(6, __VA_ARGS__)
++#define SYSCALL_DEFINE0(name)	   asmlinkage long sys_##name(void)
++#define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)
++#define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
++#define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
++#define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
++#define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
++#define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
+ 
+ #ifdef CONFIG_PPC64
+ #define SYSCALL_ALIAS(alias, name)					\
+@@ -121,21 +121,21 @@ struct old_linux_dirent;
+ 
+ #define SYSCALL_DEFINE(name) static inline long SYSC_##name
+ #define SYSCALL_DEFINEx(x, name, ...)					\
+-	asmlinkage long sys_##name(__SC_DECL##x(__VA_ARGS__));		\
+-	static inline long SYSC_##name(__SC_DECL##x(__VA_ARGS__));	\
+-	asmlinkage long SyS_##name(__SC_LONG##x(__VA_ARGS__))		\
++	asmlinkage long sys##name(__SC_DECL##x(__VA_ARGS__));		\
++	static inline long SYSC##name(__SC_DECL##x(__VA_ARGS__));	\
++	asmlinkage long SyS##name(__SC_LONG##x(__VA_ARGS__))		\
+ 	{								\
+ 		__SC_TEST##x(__VA_ARGS__);				\
+-		return (long) SYSC_##name(__SC_CAST##x(__VA_ARGS__));	\
++		return (long) SYSC##name(__SC_CAST##x(__VA_ARGS__));	\
+ 	}								\
+-	SYSCALL_ALIAS(sys_##name, SyS_##name);				\
+-	static inline long SYSC_##name(__SC_DECL##x(__VA_ARGS__))
++	SYSCALL_ALIAS(sys##name, SyS##name);				\
++	static inline long SYSC##name(__SC_DECL##x(__VA_ARGS__))
+ 
+ #else /* CONFIG_HAVE_SYSCALL_WRAPPERS */
+ 
+ #define SYSCALL_DEFINE(name) asmlinkage long sys_##name
+ #define SYSCALL_DEFINEx(x, name, ...)					\
+-	asmlinkage long sys_##name(__SC_DECL##x(__VA_ARGS__))
++	asmlinkage long sys##name(__SC_DECL##x(__VA_ARGS__))
+ 
+ #endif /* CONFIG_HAVE_SYSCALL_WRAPPERS */
+ 

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	Fri Mar 20 16:02:19 2009
@@ -22,3 +22,4 @@
 + bugfix/all/alsa-caiaq-fix-oops-with-midi.patch
 + bugfix/mips/inexistent-syscalls.patch
 + bugfix/x86/arch-ia32-entry-int80-enosys.patch
++ bugfix/all/CVE-2009-0029/fix-uml-compile.patch



More information about the Kernel-svn-changes mailing list