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

Dann Frazier dannf at alioth.debian.org
Mon Mar 9 16:45:15 UTC 2009


Author: dannf
Date: Mon Mar  9 16:45:13 2009
New Revision: 13069

Log:
use syscall wrappers on alpha

Added:
   dists/lenny-security/linux-2.6/debian/patches/bugfix/all/CVE-2009-0029/alpha-use-syscall-wrappers.patch
Modified:
   dists/lenny-security/linux-2.6/debian/changelog
   dists/lenny-security/linux-2.6/debian/patches/series/13lenny2

Modified: dists/lenny-security/linux-2.6/debian/changelog
==============================================================================
--- dists/lenny-security/linux-2.6/debian/changelog	(original)
+++ dists/lenny-security/linux-2.6/debian/changelog	Mon Mar  9 16:45:13 2009
@@ -1,6 +1,6 @@
 linux-2.6 (2.6.26-13lenny2) UNRELEASED; urgency=high
 
-  * mips, sparc64: Additional fixes for CVE-2009-0029.
+  * alpha, mips, sparc64: Additional fixes for CVE-2009-0029.
   * skfp: Fix inverted capabilities check logic (CVE-2009-0675)
   * ext4: initialize the new group descriptor when resizing
     (CVE-2009-0745)
@@ -9,7 +9,7 @@
   * ext4: Add sanity checks for the superblock before mounting the filesystem
     (CVE-2009-0748)
 
- -- dann frazier <dannf at debian.org>  Sun, 08 Mar 2009 17:01:48 -0600
+ -- dann frazier <dannf at debian.org>  Sun, 08 Mar 2009 17:45:24 -0600
 
 linux-2.6 (2.6.26-13lenny1) stable-security; urgency=high
 

Added: dists/lenny-security/linux-2.6/debian/patches/bugfix/all/CVE-2009-0029/alpha-use-syscall-wrappers.patch
==============================================================================
--- (empty file)
+++ dists/lenny-security/linux-2.6/debian/patches/bugfix/all/CVE-2009-0029/alpha-use-syscall-wrappers.patch	Mon Mar  9 16:45:13 2009
@@ -0,0 +1,578 @@
+commit e5d9a90c36e05dd080704ea58328c00f64facdc1
+Author: Ivan Kokshaysky <ink at jurassic.park.msu.ru>
+Date:   Thu Jan 29 14:25:18 2009 -0800
+
+    alpha: use syscall wrappers
+    
+    Convert OSF syscalls and add alpha specific SYSCALL_ALIAS() macro.
+    
+    Signed-off-by: Ivan Kokshaysky <ink at jurassic.park.msu.ru>
+    Cc: Richard Henderson <rth at twiddle.net>
+    Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
+    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
+    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
+
+Backported to Debian's 2.6.26 by dann frazier <dannf at debian.org>
+
+diff -urpN a/arch/alpha/Kconfig b/arch/alpha/Kconfig
+--- a/arch/alpha/Kconfig	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/alpha/Kconfig	2009-03-08 17:41:19.000000000 -0600
+@@ -7,6 +7,7 @@ config ALPHA
+ 	default y
+ 	select HAVE_IDE
+ 	select HAVE_OPROFILE
++	select HAVE_SYSCALL_WRAPPERS
+ 	help
+ 	  The Alpha is a 64-bit general-purpose processor designed and
+ 	  marketed by the Digital Equipment Corporation of blessed memory,
+diff -urpN a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S
+--- a/arch/alpha/kernel/entry.S	2009-03-08 17:24:25.000000000 -0600
++++ b/arch/alpha/kernel/entry.S	2009-03-08 17:41:19.000000000 -0600
+@@ -931,7 +931,7 @@ sys_execve:
+ osf_sigprocmask:
+ 	.prologue 0
+ 	mov	$sp, $18
+-	jmp	$31, do_osf_sigprocmask
++	jmp	$31, sys_osf_sigprocmask
+ .end osf_sigprocmask
+ 
+ 	.align	4
+diff -urpN a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c
+--- a/arch/alpha/kernel/osf_sys.c	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/alpha/kernel/osf_sys.c	2009-03-08 17:42:16.000000000 -0600
+@@ -54,8 +54,7 @@ extern int do_pipe(int *);
+  * identical to OSF as we don't return 0 on success, but doing otherwise
+  * would require changes to libc.  Hopefully this is good enough.
+  */
+-asmlinkage unsigned long
+-osf_brk(unsigned long brk)
++SYSCALL_DEFINE1(osf_brk, unsigned long, brk)
+ {
+ 	unsigned long retval = sys_brk(brk);
+ 	if (brk && brk != retval)
+@@ -66,9 +65,9 @@ osf_brk(unsigned long brk)
+ /*
+  * This is pure guess-work..
+  */
+-asmlinkage int
+-osf_set_program_attributes(unsigned long text_start, unsigned long text_len,
+-			   unsigned long bss_start, unsigned long bss_len)
++SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start,
++		unsigned long, text_len, unsigned long, bss_start,
++		unsigned long, bss_len)
+ {
+ 	struct mm_struct *mm;
+ 
+@@ -141,9 +140,9 @@ osf_filldir(void *__buf, const char *nam
+ 	return 0;
+ }
+ 
+-asmlinkage int
+-osf_getdirentries(unsigned int fd, struct osf_dirent __user *dirent,
+-		  unsigned int count, long __user *basep)
++SYSCALL_DEFINE4(osf_getdirentries, unsigned int, fd,
++		struct osf_dirent __user *, dirent, unsigned int, count,
++		long __user *, basep)
+ {
+ 	int error;
+ 	struct file *file;
+@@ -175,9 +174,9 @@ osf_getdirentries(unsigned int fd, struc
+ 
+ #undef NAME_OFFSET
+ 
+-asmlinkage unsigned long
+-osf_mmap(unsigned long addr, unsigned long len, unsigned long prot,
+-	 unsigned long flags, unsigned long fd, unsigned long off)
++SYSCALL_DEFINE6(osf_mmap, unsigned long, addr, unsigned long, len,
++		unsigned long, prot, unsigned long, flags, unsigned long, fd,
++		unsigned long, off)
+ {
+ 	struct file *file = NULL;
+ 	unsigned long ret = -EBADF;
+@@ -252,8 +251,8 @@ do_osf_statfs(struct dentry * dentry, st
+ 	return error;	
+ }
+ 
+-asmlinkage int
+-osf_statfs(char __user *path, struct osf_statfs __user *buffer, unsigned long bufsiz)
++SYSCALL_DEFINE3(osf_statfs, char __user *, path,
++		struct osf_statfs __user *, buffer, unsigned long, bufsiz)
+ {
+ 	struct nameidata nd;
+ 	int retval;
+@@ -266,8 +265,8 @@ osf_statfs(char __user *path, struct osf
+ 	return retval;
+ }
+ 
+-asmlinkage int
+-osf_fstatfs(unsigned long fd, struct osf_statfs __user *buffer, unsigned long bufsiz)
++SYSCALL_DEFINE3(osf_fstatfs, unsigned long, fd,
++		struct osf_statfs __user *, buffer, unsigned long, bufsiz)
+ {
+ 	struct file *file;
+ 	int retval;
+@@ -366,8 +365,8 @@ osf_procfs_mount(char *dirname, struct p
+ 	return do_mount("", dirname, "proc", flags, NULL);
+ }
+ 
+-asmlinkage int
+-osf_mount(unsigned long typenr, char __user *path, int flag, void __user *data)
++SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path,
++		int, flag, void __user *, data)
+ {
+ 	int retval = -EINVAL;
+ 	char *name;
+@@ -397,8 +396,7 @@ osf_mount(unsigned long typenr, char __u
+ 	return retval;
+ }
+ 
+-asmlinkage int
+-osf_utsname(char __user *name)
++SYSCALL_DEFINE1(osf_utsname, char __user *, name)
+ {
+ 	int error;
+ 
+@@ -421,14 +419,12 @@ osf_utsname(char __user *name)
+ 	return error;
+ }
+ 
+-asmlinkage unsigned long
+-sys_getpagesize(void)
++SYSCALL_DEFINE0(getpagesize)
+ {
+ 	return PAGE_SIZE;
+ }
+ 
+-asmlinkage unsigned long
+-sys_getdtablesize(void)
++SYSCALL_DEFINE0(getdtablesize)
+ {
+ 	return sysctl_nr_open;
+ }
+@@ -436,8 +432,7 @@ sys_getdtablesize(void)
+ /*
+  * For compatibility with OSF/1 only.  Use utsname(2) instead.
+  */
+-asmlinkage int
+-osf_getdomainname(char __user *name, int namelen)
++SYSCALL_DEFINE2(osf_getdomainname, char __user *, name, int, namelen)
+ {
+ 	unsigned len;
+ 	int i;
+@@ -525,8 +520,8 @@ enum pl_code {
+ 	PL_DEL = 5, PL_FDEL = 6
+ };
+ 
+-asmlinkage long
+-osf_proplist_syscall(enum pl_code code, union pl_args __user *args)
++SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code,
++		union pl_args __user *, args)
+ {
+ 	long error;
+ 	int __user *min_buf_size_ptr;
+@@ -565,8 +560,8 @@ osf_proplist_syscall(enum pl_code code, 
+ 	return error;
+ }
+ 
+-asmlinkage int
+-osf_sigstack(struct sigstack __user *uss, struct sigstack __user *uoss)
++SYSCALL_DEFINE2(osf_sigstack, struct sigstack __user *, uss,
++		struct sigstack __user *, uoss)
+ {
+ 	unsigned long usp = rdusp();
+ 	unsigned long oss_sp = current->sas_ss_sp + current->sas_ss_size;
+@@ -606,8 +601,7 @@ osf_sigstack(struct sigstack __user *uss
+ 	return error;
+ }
+ 
+-asmlinkage long
+-osf_sysinfo(int command, char __user *buf, long count)
++SYSCALL_DEFINE3(osf_sysinfo, int, command, char __user *, buf, long, count)
+ {
+ 	char *sysinfo_table[] = {
+ 		utsname()->sysname,
+@@ -645,9 +639,8 @@ osf_sysinfo(int command, char __user *bu
+ 	return err;
+ }
+ 
+-asmlinkage unsigned long
+-osf_getsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes,
+-	       int __user *start, void __user *arg)
++SYSCALL_DEFINE5(osf_getsysinfo, unsigned long, op, void __user *, buffer,
++		unsigned long, nbytes, int __user *, start, void __user *, arg)
+ {
+ 	unsigned long w;
+ 	struct percpu_struct *cpu;
+@@ -703,9 +696,8 @@ osf_getsysinfo(unsigned long op, void __
+ 	return -EOPNOTSUPP;
+ }
+ 
+-asmlinkage unsigned long
+-osf_setsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes,
+-	       int __user *start, void __user *arg)
++SYSCALL_DEFINE5(osf_setsysinfo, unsigned long, op, void __user *, buffer,
++		unsigned long, nbytes, int __user *, start, void __user *, arg)
+ {
+ 	switch (op) {
+ 	case SSI_IEEE_FP_CONTROL: {
+@@ -878,8 +870,8 @@ jiffies_to_timeval32(unsigned long jiffi
+ 	value->tv_sec = jiffies / HZ;
+ }
+ 
+-asmlinkage int
+-osf_gettimeofday(struct timeval32 __user *tv, struct timezone __user *tz)
++SYSCALL_DEFINE2(osf_gettimeofday, struct timeval32 __user *, tv,
++		struct timezone __user *, tz)
+ {
+ 	if (tv) {
+ 		struct timeval ktv;
+@@ -894,8 +886,8 @@ osf_gettimeofday(struct timeval32 __user
+ 	return 0;
+ }
+ 
+-asmlinkage int
+-osf_settimeofday(struct timeval32 __user *tv, struct timezone __user *tz)
++SYSCALL_DEFINE2(osf_settimeofday, struct timeval32 __user *, tv,
++		struct timezone __user *, tz)
+ {
+ 	struct timespec kts;
+ 	struct timezone ktz;
+@@ -914,8 +906,7 @@ osf_settimeofday(struct timeval32 __user
+ 	return do_sys_settimeofday(tv ? &kts : NULL, tz ? &ktz : NULL);
+ }
+ 
+-asmlinkage int
+-osf_getitimer(int which, struct itimerval32 __user *it)
++SYSCALL_DEFINE2(osf_getitimer, int, which, struct itimerval32 __user *, it)
+ {
+ 	struct itimerval kit;
+ 	int error;
+@@ -927,8 +918,8 @@ osf_getitimer(int which, struct itimerva
+ 	return error;
+ }
+ 
+-asmlinkage int
+-osf_setitimer(int which, struct itimerval32 __user *in, struct itimerval32 __user *out)
++SYSCALL_DEFINE3(osf_setitimer, int, which, struct itimerval32 __user *, in,
++		struct itimerval32 __user *, out)
+ {
+ 	struct itimerval kin, kout;
+ 	int error;
+@@ -950,8 +941,8 @@ osf_setitimer(int which, struct itimerva
+ 
+ }
+ 
+-asmlinkage int
+-osf_utimes(char __user *filename, struct timeval32 __user *tvs)
++SYSCALL_DEFINE2(osf_utimes, char __user *, filename,
++		struct timeval32 __user *, tvs)
+ {
+ 	struct timespec tv[2];
+ 
+@@ -977,9 +968,8 @@ osf_utimes(char __user *filename, struct
+ #define MAX_SELECT_SECONDS \
+ 	((unsigned long) (MAX_SCHEDULE_TIMEOUT / HZ)-1)
+ 
+-asmlinkage int
+-osf_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp,
+-	   struct timeval32 __user *tvp)
++SYSCALL_DEFINE5(osf_select, int, n, fd_set __user *, inp, fd_set __user *, outp,
++		fd_set __user *, exp, struct timeval32 __user *, tvp)
+ {
+ 	s64 timeout = MAX_SCHEDULE_TIMEOUT;
+ 	if (tvp) {
+@@ -1023,8 +1013,7 @@ struct rusage32 {
+ 	long	ru_nivcsw;		/* involuntary " */
+ };
+ 
+-asmlinkage int
+-osf_getrusage(int who, struct rusage32 __user *ru)
++SYSCALL_DEFINE2(osf_getrusage, int, who, struct rusage32 __user *, ru)
+ {
+ 	struct rusage32 r;
+ 
+@@ -1050,9 +1039,8 @@ osf_getrusage(int who, struct rusage32 _
+ 	return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0;
+ }
+ 
+-asmlinkage long
+-osf_wait4(pid_t pid, int __user *ustatus, int options,
+-	  struct rusage32 __user *ur)
++SYSCALL_DEFINE4(osf_wait4, pid_t, pid, int __user *, ustatus, int, options,
++		struct rusage32 __user *, ur)
+ {
+ 	struct rusage r;
+ 	long ret, err;
+@@ -1098,8 +1086,8 @@ osf_wait4(pid_t pid, int __user *ustatus
+  * seems to be a timeval pointer, and I suspect the second
+  * one is the time remaining.. Ho humm.. No documentation.
+  */
+-asmlinkage int
+-osf_usleep_thread(struct timeval32 __user *sleep, struct timeval32 __user *remain)
++SYSCALL_DEFINE2(osf_usleep_thread, struct timeval32 __user *, sleep,
++		struct timeval32 __user *, remain)
+ {
+ 	struct timeval tmp;
+ 	unsigned long ticks;
+@@ -1152,8 +1140,7 @@ struct timex32 {
+ 	int  :32; int  :32; int  :32; int  :32;
+ };
+ 
+-asmlinkage int
+-sys_old_adjtimex(struct timex32 __user *txc_p)
++SYSCALL_DEFINE1(old_adjtimex, struct timex32 __user *, txc_p)
+ {
+         struct timex txc;
+ 	int ret;
+@@ -1264,8 +1251,8 @@ osf_fix_iov_len(const struct iovec __use
+ 	return 0;
+ }
+ 
+-asmlinkage ssize_t
+-osf_readv(unsigned long fd, const struct iovec __user * vector, unsigned long count)
++SYSCALL_DEFINE3(osf_readv, unsigned long, fd,
++		const struct iovec __user *, vector, unsigned long, count)
+ {
+ 	if (unlikely(personality(current->personality) == PER_OSF4))
+ 		if (osf_fix_iov_len(vector, count))
+@@ -1273,8 +1260,8 @@ osf_readv(unsigned long fd, const struct
+ 	return sys_readv(fd, vector, count);
+ }
+ 
+-asmlinkage ssize_t
+-osf_writev(unsigned long fd, const struct iovec __user * vector, unsigned long count)
++SYSCALL_DEFINE3(osf_writev, unsigned long, fd,
++		const struct iovec __user *, vector, unsigned long, count)
+ {
+ 	if (unlikely(personality(current->personality) == PER_OSF4))
+ 		if (osf_fix_iov_len(vector, count))
+diff -urpN a/arch/alpha/kernel/signal.c b/arch/alpha/kernel/signal.c
+--- a/arch/alpha/kernel/signal.c	2008-07-13 15:51:29.000000000 -0600
++++ b/arch/alpha/kernel/signal.c	2009-03-08 17:41:19.000000000 -0600
+@@ -19,6 +19,7 @@
+ #include <linux/tty.h>
+ #include <linux/binfmts.h>
+ #include <linux/bitops.h>
++#include <linux/syscalls.h>
+ 
+ #include <asm/uaccess.h>
+ #include <asm/sigcontext.h>
+@@ -51,8 +52,8 @@ static void do_signal(struct pt_regs *, 
+  * Note that we don't need to acquire the kernel lock for SMP
+  * operation, as all of this is local to this thread.
+  */
+-asmlinkage unsigned long
+-do_osf_sigprocmask(int how, unsigned long newmask, struct pt_regs *regs)
++SYSCALL_DEFINE3(osf_sigprocmask, int, how, unsigned long, newmask,
++		struct pt_regs *, regs)
+ {
+ 	unsigned long oldmask = -EINVAL;
+ 
+@@ -81,9 +82,9 @@ do_osf_sigprocmask(int how, unsigned lon
+ 	return oldmask;
+ }
+ 
+-asmlinkage int 
+-osf_sigaction(int sig, const struct osf_sigaction __user *act,
+-	      struct osf_sigaction __user *oact)
++SYSCALL_DEFINE3(osf_sigaction, int, sig,
++		const struct osf_sigaction __user *, act,
++		struct osf_sigaction __user *, oact)
+ {
+ 	struct k_sigaction new_ka, old_ka;
+ 	int ret;
+@@ -112,10 +113,9 @@ osf_sigaction(int sig, const struct osf_
+ 	return ret;
+ }
+ 
+-asmlinkage long
+-sys_rt_sigaction(int sig, const struct sigaction __user *act,
+-		 struct sigaction __user *oact,
+-		 size_t sigsetsize, void __user *restorer)
++SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act,
++		struct sigaction __user *, oact,
++		size_t, sigsetsize, void __user *, restorer)
+ {
+ 	struct k_sigaction new_ka, old_ka;
+ 	int ret;
+diff -urpN a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S
+--- a/arch/alpha/kernel/systbls.S	2009-03-08 17:24:25.000000000 -0600
++++ b/arch/alpha/kernel/systbls.S	2009-03-08 17:41:19.000000000 -0600
+@@ -17,7 +17,7 @@ sys_call_table:
+ 	.quad sys_write
+ 	.quad alpha_ni_syscall			/* 5 */
+ 	.quad sys_close
+-	.quad osf_wait4
++	.quad sys_osf_wait4
+ 	.quad alpha_ni_syscall
+ 	.quad sys_link
+ 	.quad sys_unlink			/* 10 */
+@@ -27,11 +27,11 @@ sys_call_table:
+ 	.quad sys_mknod
+ 	.quad sys_chmod				/* 15 */
+ 	.quad sys_chown
+-	.quad osf_brk
++	.quad sys_osf_brk
+ 	.quad alpha_ni_syscall
+ 	.quad sys_lseek
+ 	.quad sys_getxpid			/* 20 */
+-	.quad osf_mount
++	.quad sys_osf_mount
+ 	.quad sys_umount
+ 	.quad sys_setuid
+ 	.quad sys_getxuid
+@@ -53,7 +53,7 @@ sys_call_table:
+ 	.quad alpha_ni_syscall			/* 40 */
+ 	.quad sys_dup
+ 	.quad sys_alpha_pipe
+-	.quad osf_set_program_attributes
++	.quad sys_osf_set_program_attributes
+ 	.quad alpha_ni_syscall
+ 	.quad sys_open				/* 45 */
+ 	.quad alpha_ni_syscall
+@@ -81,7 +81,7 @@ sys_call_table:
+ 	.quad sys_newlstat
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 70 */
+-	.quad osf_mmap
++	.quad sys_osf_mmap
+ 	.quad alpha_ni_syscall
+ 	.quad sys_munmap
+ 	.quad sys_mprotect
+@@ -94,17 +94,17 @@ sys_call_table:
+ 	.quad sys_setgroups			/* 80 */
+ 	.quad alpha_ni_syscall
+ 	.quad sys_setpgid
+-	.quad osf_setitimer
++	.quad sys_osf_setitimer
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 85 */
+-	.quad osf_getitimer
++	.quad sys_osf_getitimer
+ 	.quad sys_gethostname
+ 	.quad sys_sethostname
+ 	.quad sys_getdtablesize
+ 	.quad sys_dup2				/* 90 */
+ 	.quad sys_newfstat
+ 	.quad sys_fcntl
+-	.quad osf_select
++	.quad sys_osf_select
+ 	.quad sys_poll
+ 	.quad sys_fsync				/* 95 */
+ 	.quad sys_setpriority
+@@ -123,22 +123,22 @@ sys_call_table:
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 110 */
+ 	.quad sys_sigsuspend
+-	.quad osf_sigstack
++	.quad sys_osf_sigstack
+ 	.quad sys_recvmsg
+ 	.quad sys_sendmsg
+ 	.quad alpha_ni_syscall			/* 115 */
+-	.quad osf_gettimeofday
+-	.quad osf_getrusage
++	.quad sys_osf_gettimeofday
++	.quad sys_osf_getrusage
+ 	.quad sys_getsockopt
+ 	.quad alpha_ni_syscall
+ #ifdef CONFIG_OSF4_COMPAT
+-	.quad osf_readv				/* 120 */
+-	.quad osf_writev
++	.quad sys_osf_readv			/* 120 */
++	.quad sys_osf_writev
+ #else
+ 	.quad sys_readv				/* 120 */
+ 	.quad sys_writev
+ #endif
+-	.quad osf_settimeofday
++	.quad sys_osf_settimeofday
+ 	.quad sys_fchown
+ 	.quad sys_fchmod
+ 	.quad sys_recvfrom			/* 125 */
+@@ -154,7 +154,7 @@ sys_call_table:
+ 	.quad sys_socketpair			/* 135 */
+ 	.quad sys_mkdir
+ 	.quad sys_rmdir
+-	.quad osf_utimes
++	.quad sys_osf_utimes
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 140 */
+ 	.quad sys_getpeername
+@@ -172,16 +172,16 @@ sys_call_table:
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 155 */
+-	.quad osf_sigaction
++	.quad sys_osf_sigaction
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+-	.quad osf_getdirentries
+-	.quad osf_statfs			/* 160 */
+-	.quad osf_fstatfs
++	.quad sys_osf_getdirentries
++	.quad sys_osf_statfs			/* 160 */
++	.quad sys_osf_fstatfs
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+-	.quad osf_getdomainname			/* 165 */
++	.quad sys_osf_getdomainname		/* 165 */
+ 	.quad sys_setdomainname
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+@@ -224,7 +224,7 @@ sys_call_table:
+ 	.quad sys_semctl
+ 	.quad sys_semget			/* 205 */
+ 	.quad sys_semop
+-	.quad osf_utsname
++	.quad sys_osf_utsname
+ 	.quad sys_lchown
+ 	.quad sys_shmat
+ 	.quad sys_shmctl			/* 210 */
+@@ -258,23 +258,23 @@ sys_call_table:
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 240 */
+-	.quad osf_sysinfo
++	.quad sys_osf_sysinfo
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+-	.quad osf_proplist_syscall
++	.quad sys_osf_proplist_syscall
+ 	.quad alpha_ni_syscall			/* 245 */
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 250 */
+-	.quad osf_usleep_thread
++	.quad sys_osf_usleep_thread
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad sys_sysfs
+ 	.quad alpha_ni_syscall			/* 255 */
+-	.quad osf_getsysinfo
+-	.quad osf_setsysinfo
++	.quad sys_osf_getsysinfo
++	.quad sys_osf_setsysinfo
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall
+ 	.quad alpha_ni_syscall			/* 260 */
+diff -urpN a/include/linux/syscalls.h b/include/linux/syscalls.h
+--- a/include/linux/syscalls.h	2009-03-08 17:24:27.000000000 -0600
++++ b/include/linux/syscalls.h	2009-03-08 17:41:19.000000000 -0600
+@@ -108,9 +108,14 @@ struct old_linux_dirent;
+ 	asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n"	\
+ 	     "\t.globl ." #alias "\n\t.set ." #alias ", ." #name)
+ #else
++#ifdef CONFIG_ALPHA
++#define SYSCALL_ALIAS(alias, name)					\
++	asm ( #alias " = " #name "\n\t.globl " #alias)
++#else
+ #define SYSCALL_ALIAS(alias, name)					\
+ 	asm ("\t.globl " #alias "\n\t.set " #alias ", " #name)
+ #endif
++#endif
+ 
+ #ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
+ 

Modified: dists/lenny-security/linux-2.6/debian/patches/series/13lenny2
==============================================================================
--- dists/lenny-security/linux-2.6/debian/patches/series/13lenny2	(original)
+++ dists/lenny-security/linux-2.6/debian/patches/series/13lenny2	Mon Mar  9 16:45:13 2009
@@ -9,3 +9,4 @@
 + bugfix/all/ext4-add-sanity-checks-for-the-superblock-before-mounting.patch
 + bugfix/all/CVE-2009-0029/sparc64-use-syscall-wrappers.patch
 + bugfix/all/CVE-2009-0029/sparc64-wrap-arch-specific-syscalls.patch
++ bugfix/all/CVE-2009-0029/alpha-use-syscall-wrappers.patch



More information about the Kernel-svn-changes mailing list