diff options
author | Tim Yamin <plasmaroo@gentoo.org> | 2004-05-28 20:59:06 +0000 |
---|---|---|
committer | Tim Yamin <plasmaroo@gentoo.org> | 2004-05-28 20:59:06 +0000 |
commit | 03fb0f6f9c42ab6364bbe8ece4841a6d98164d64 (patch) | |
tree | 5e0238ffcaaddadd6c89c47c2355c7658e5cf112 /sys-kernel | |
parent | require perl 5.8.2 to get a proper >=6.11 makemaker (diff) | |
download | historical-03fb0f6f9c42ab6364bbe8ece4841a6d98164d64.tar.gz historical-03fb0f6f9c42ab6364bbe8ece4841a6d98164d64.tar.bz2 historical-03fb0f6f9c42ab6364bbe8ece4841a6d98164d64.zip |
Added patches for the CAN-2004-0075, CAN-2004-0133, CAN-2004-0181, CAN-2004-0228, CAN-2004-0229, CAN-2004-0394, and CAN-2004-0427 vulnerabilities. Bug #47881.
Diffstat (limited to 'sys-kernel')
13 files changed, 210 insertions, 22 deletions
diff --git a/sys-kernel/aa-sources/ChangeLog b/sys-kernel/aa-sources/ChangeLog index 7ac14f16188b..fc6c6e5dac2b 100644 --- a/sys-kernel/aa-sources/ChangeLog +++ b/sys-kernel/aa-sources/ChangeLog @@ -1,10 +1,16 @@ # ChangeLog for sys-kernel/aa-sources # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/aa-sources/ChangeLog,v 1.36 2004/04/27 21:56:34 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/aa-sources/ChangeLog,v 1.37 2004/05/28 20:59:06 plasmaroo Exp $ + + 28 May 2004; <plasmaroo@gentoo.org> aa-sources-2.4.23-r2.ebuild, + aa-sources-2.6.5-r5.ebuild, files/aa-sources-...patch: + Added patches for the CAN-2004-0075, CAN-2004-0133, CAN-2004-0181, + CAN-2004-0228, CAN-2004-0229, CAN-2004-0394, and CAN-2004-0427 + vulnerabilities. Bug #47881. 27 Apr 2004; Aron Griffis <agriffis@gentoo.org> aa-sources-2.4.22-r1.ebuild, aa-sources-2.4.23-r1.ebuild: - Add inherit eutils + Add inherit eutils. 17 Apr 2004; Daniel Ahlberg <aliz@gentoo.org> aa-sources-2.4.23-r2.ebuild: Fixed IUSE flags. @@ -143,13 +149,11 @@ *aa-sources-2.4.20_pre101 (27 Oct 2002) 27 Oct 2002; Brandon Low <lostlogic@gentoo.org> aa-sources-2.4.20_pre111.ebuild: - Version bump. *aa-sources-2.4.20_pre101 (15 Oct 2002) 15 Oct 2002; Brandon Low <lostlogic@gentoo.org> aa-sources-2.4.20_pre101.ebuild: - New package for -aa sources, the versioning is silly because we really have 2 parts to the -pre number the marcelo kernel pre version and the -ac subversion so diff --git a/sys-kernel/aa-sources/Manifest b/sys-kernel/aa-sources/Manifest index ddef280e0591..25b869666743 100644 --- a/sys-kernel/aa-sources/Manifest +++ b/sys-kernel/aa-sources/Manifest @@ -1,20 +1,29 @@ -MD5 48258cce2ea63af8b1dc6b2a3ef92b1e ChangeLog 5387 -MD5 e56bb3016748fc7d0627feae5b4924ae aa-sources-2.4.23-r2.ebuild 2778 +MD5 b99b44cc01b55e8d62fbd9a804b485f2 ChangeLog 5677 MD5 399eb7607b8f1f3f597e93566b1bda7c metadata.xml 453 +MD5 bbd8f6616969a17f15358a4261ba9f22 aa-sources-2.6.5-r5.ebuild 791 MD5 83064762165ea7786409b00b8a5ba8dc aa-sources-2.4.23-r1.ebuild 2427 -MD5 6ae9a0dc1105cf55d23f6ce8d268c33b aa-sources-2.6.5-r5.ebuild 643 +MD5 d94b1a994313a70b1b24dce8fc733018 aa-sources-2.4.23-r2.ebuild 3242 MD5 74e72d18a73bf3821cace7f90bdb63d7 aa-sources-2.4.22-r1.ebuild 2424 -MD5 174438d215b70cad5ffb00ca8123c062 files/aa-sources-2.4.23.munmap.patch 837 -MD5 e637c6fa41097ea2c4693d0766f2e1c5 files/do_brk_fix.patch 242 -MD5 23188d802797d56fc9b4a55f3b1d3b31 files/digest-aa-sources-2.4.23-r1 126 -MD5 e77a93fdf26f06cf3ea5080b27211725 files/aa-sources-2.4.23.CAN-2003-0985.patch 414 +MD5 eaeda68a619caaddd5b8fdc5e7c39932 files/aa-sources-2.4.23.CAN-2004-0177.patch 384 +MD5 de75cfa969ed092578d9ddda6c5be334 files/aa-sources-2.4.23.CAN-2004-0181.patch 1233 +MD5 7b08e3780e3b7c8c671db00ce6010125 files/digest-aa-sources-2.4.23-r2 126 +MD5 6f4bba5dda7a99d77b1564f5489fef6e files/aa-sources-2.6.5.CAN-2004-0075.patch 1129 MD5 e2e2b545b6fcdcecf49e33798efa5b84 files/aa-sources-2.4.23.rtc_fix.patch 7073 -MD5 017a713155afe3e4b9c5672eef0bc959 files/digest-aa-sources-2.4.22-r1 126 -MD5 fcfb3fc100621b77d191f86b66dd810a files/aa-sources-2.4.22-ide-scsi-missing-sym-fix.patch 465 +MD5 e77a93fdf26f06cf3ea5080b27211725 files/aa-sources-2.4.23.CAN-2003-0985.patch 414 +MD5 9c816c892d6e3d3f0b7b77d3d503ab10 files/aa-sources-2.4.23.CAN-2004-0075.patch 634 +MD5 ded4567d3de9b73dc4ad4e00e24ca179 files/digest-aa-sources-2.6.5-r5 124 MD5 bf2b609e8cab6460d220b1267db09826 files/aa-sources-2.4.23.CAN-2004-0001.patch 982 -MD5 7b08e3780e3b7c8c671db00ce6010125 files/digest-aa-sources-2.4.23-r2 126 -MD5 21f3a4f186017d925067335e24db36a1 files/aa-sources-2.4.23.CAN-2004-0109.patch 1877 MD5 147fec50180ad91b6260fc7201dcb90f files/aa-sources-2.4.23.CAN-2004-0010.patch 6050 -MD5 eaeda68a619caaddd5b8fdc5e7c39932 files/aa-sources-2.4.23.CAN-2004-0177.patch 384 +MD5 a92712e41465c49670ef7a54c2d16040 files/aa-sources-2.6.5.CAN-2004-0229.patch 471 +MD5 174438d215b70cad5ffb00ca8123c062 files/aa-sources-2.4.23.munmap.patch 837 +MD5 d4a740ae56c2049247083af387a22a85 files/aa-sources-2.4.23.CAN-2004-0394.patch 350 +MD5 1dd59d14a720c0c23e47e28d0b4fd6f9 files/aa-sources-2.6.5.CAN-2004-0228.patch 437 +MD5 5674421c7e2c7e50e2509bed7d96c4d4 files/aa-sources-2.6.5.CAN-2004-0427.patch 332 +MD5 5bf9836a632a861728d33f9736bb7431 files/aa-sources-2.4.23.CAN-2004-0133.patch 427 +MD5 21f3a4f186017d925067335e24db36a1 files/aa-sources-2.4.23.CAN-2004-0109.patch 1877 +MD5 017a713155afe3e4b9c5672eef0bc959 files/digest-aa-sources-2.4.22-r1 126 MD5 ac42024b6e6ee1e2165914db4b22a61c files/aa-sources-2.4.23.CAN-2004-0178.patch 424 -MD5 ded4567d3de9b73dc4ad4e00e24ca179 files/digest-aa-sources-2.6.5-r5 124 +MD5 fcfb3fc100621b77d191f86b66dd810a files/aa-sources-2.4.22-ide-scsi-missing-sym-fix.patch 465 +MD5 23188d802797d56fc9b4a55f3b1d3b31 files/digest-aa-sources-2.4.23-r1 126 +MD5 c460ea130cb4ae84a5063ba044e3ce72 files/aa-sources-2.4.23.CAN-2004-0427.patch 460 +MD5 e637c6fa41097ea2c4693d0766f2e1c5 files/do_brk_fix.patch 242 diff --git a/sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild b/sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild index 26ee93809611..c4c7b1602f75 100644 --- a/sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild +++ b/sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild,v 1.5 2004/04/17 19:03:26 aliz Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/aa-sources/aa-sources-2.4.23-r2.ebuild,v 1.6 2004/05/28 20:59:06 plasmaroo Exp $ IUSE="" @@ -61,9 +61,14 @@ src_unpack() { epatch ${FILESDIR}/${P}.CAN-2003-0985.patch || die "Failed to apply mremap() patch!" epatch ${FILESDIR}/${P}.CAN-2004-0001.patch || die "Failed to apply AMD64 ptrace patch!" epatch ${FILESDIR}/${P}.CAN-2004-0010.patch || die "Failed to add the CAN-2004-0010 patch!" - epatch ${FILESDIR}/${P}.CAN-2004-0109.patch || die "Failed to patch CAN-2004-0109 vulnerability!" + epatch ${FILESDIR}/${P}.CAN-2004-0075.patch || die "Failed to add the CAN-2004-0075 patch!" + epatch ${FILESDIR}/${P}.CAN-2004-0109.patch || die "Failed to add the CAN-2004-0109 patch!" + epatch ${FILESDIR}/${P}.CAN-2004-0133.patch || die "Failed to add the CAN-2004-0133 patch!" epatch ${FILESDIR}/${P}.CAN-2004-0177.patch || die "Failed to add the CAN-2004-0177 patch!" epatch ${FILESDIR}/${P}.CAN-2004-0178.patch || die "Failed to add the CAN-2004-0178 patch!" + epatch ${FILESDIR}/${P}.CAN-2004-0181.patch || die "Failed to add the CAN-2004-0181 patch!" + epatch ${FILESDIR}/${P}.CAN-2004-0394.patch || die "Failed to add the CAN-2004-0394 patch!" + epatch ${FILESDIR}/${P}.CAN-2004-0427.patch || die "Failed to add the CAN-2004-0427 patch!" epatch ${FILESDIR}/${P}.rtc_fix.patch || die "Failed to apply RTC patch!" # The munmap() patch is already in aa2... diff --git a/sys-kernel/aa-sources/aa-sources-2.6.5-r5.ebuild b/sys-kernel/aa-sources/aa-sources-2.6.5-r5.ebuild index d443bd8db714..c6c6b5b3beeb 100644 --- a/sys-kernel/aa-sources/aa-sources-2.6.5-r5.ebuild +++ b/sys-kernel/aa-sources/aa-sources-2.6.5-r5.ebuild @@ -1,8 +1,8 @@ # Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/aa-sources/aa-sources-2.6.5-r5.ebuild,v 1.1 2004/04/17 01:04:17 steel300 Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/aa-sources/aa-sources-2.6.5-r5.ebuild,v 1.2 2004/05/28 20:59:06 plasmaroo Exp $ -UNIPATCH_LIST="${DISTDIR}/${KV}.bz2" +UNIPATCH_LIST="${DISTDIR}/${KV}.bz2 ${FILESDIR}/${P}.CAN-2004-0075.patch ${FILESDIR}/${P}.CAN-2004-0228.patch ${FILESDIR}/${P}.CAN-2004-0229.patch ${FILESDIR}/${P}.CAN-2004-0427.patch" K_PREPATCHED="yes" UNIPATCH_STRICTORDER="yes" @@ -16,4 +16,3 @@ HOMEPAGE="http://www.kernel.org/pub/linux/kernel/people/andrea/" SRC_URI="${KERNEL_URI} mirror://kernel/linux/kernel/people/andrea/kernels/v2.6/${KV}.bz2" KEYWORDS="~x86 ~amd64 ~sparc" - diff --git a/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0075.patch b/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0075.patch new file mode 100644 index 000000000000..5c397deb9c46 --- /dev/null +++ b/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0075.patch @@ -0,0 +1,25 @@ +--- linux-2.4.23/drivers/usb/vicam.c 2004-01-26 16:56:32.000000000 +0000 ++++ linux-2.4.25/drivers/usb/vicam.c 2004-04-20 18:15:53.000000000 +0100 +@@ -601,12 +601,19 @@ + case VIDIOCSWIN: + { + +- struct video_window *vw = (struct video_window *) arg; +- DBG("VIDIOCSWIN %d x %d\n", vw->width, vw->height); ++ struct video_window vw; + +- if ( vw->width != 320 || vw->height != 240 ) ++ if (copy_from_user(&vw, arg, sizeof(vw))) ++ { + retval = -EFAULT; ++ break; ++ } ++ ++ DBG("VIDIOCSWIN %d x %d\n", vw->width, vw->height); + ++ if ( vw.width != 320 || vw.height != 240 ) ++ retval = -EFAULT; ++ + break; + } + diff --git a/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0133.patch b/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0133.patch new file mode 100644 index 000000000000..c756bc328bf2 --- /dev/null +++ b/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0133.patch @@ -0,0 +1,11 @@ +--- linux-2.4.22/fs/xfs/xfs_log.c.can-2004-0133 2004-03-23 12:28:11.000000000 -0700 ++++ linux-2.4.22/fs/xfs/xfs_log.c 2004-03-23 12:58:59.000000000 -0700 +@@ -1251,7 +1251,7 @@ + kmem_zalloc(sizeof(xlog_in_core_t), KM_SLEEP); + iclog = *iclogp; + iclog->hic_data = (xlog_in_core_2_t *) +- kmem_alloc(iclogsize, KM_SLEEP); ++ kmem_zalloc(iclogsize, KM_SLEEP); + + iclog->ic_prev = prev_iclog; + prev_iclog = iclog; diff --git a/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0181.patch b/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0181.patch new file mode 100644 index 000000000000..5f7f1441b268 --- /dev/null +++ b/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0181.patch @@ -0,0 +1,38 @@ +--- linux-2.4.22/fs/jfs/jfs_logmgr.c.jfs-sec 2004-03-23 12:30:35.000000000 -0700 ++++ linux-2.4.22/fs/jfs/jfs_logmgr.c 2004-03-23 13:01:51.000000000 -0700 +@@ -1693,7 +1693,7 @@ + if (lbuf == 0) + goto error; + lbuf->l_bh.b_data = lbuf->l_ldata = +- (char *) __get_free_page(GFP_KERNEL); ++ (char *) get_zeroed_page(GFP_KERNEL); + if (lbuf->l_ldata == 0) { + kfree(lbuf); + goto error; +--- linux-2.4.22/fs/jfs/jfs_metapage.c.jfs-sec 2004-03-23 12:30:48.000000000 -0700 ++++ linux-2.4.22/fs/jfs/jfs_metapage.c 2004-03-23 13:01:51.000000000 -0700 +@@ -375,6 +375,10 @@ + } + mp->data = kmap(mp->page) + page_offset; + } ++ ++ if (new) ++ memset(mp->data, 0, PSIZE); ++ + jfs_info("__get_metapage: returning = 0x%p", mp); + return mp; + +--- linux-2.4.22/fs/jfs/super.c.jfs-sec 2004-03-23 12:31:10.000000000 -0700 ++++ linux-2.4.22/fs/jfs/super.c 2004-03-23 13:01:51.000000000 -0700 +@@ -423,10 +423,10 @@ + + if ((flags & (SLAB_CTOR_VERIFY | SLAB_CTOR_CONSTRUCTOR)) == + SLAB_CTOR_CONSTRUCTOR) { ++ memset(jfs_ip, 0, sizeof(struct jfs_inode_info)); + INIT_LIST_HEAD(&jfs_ip->anon_inode_list); + init_rwsem(&jfs_ip->rdwrlock); + init_MUTEX(&jfs_ip->commit_sem); +- jfs_ip->atlhead = 0; + jfs_ip->active_ag = -1; + } + } diff --git a/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0394.patch b/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0394.patch new file mode 100644 index 000000000000..273f1a52046f --- /dev/null +++ b/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0394.patch @@ -0,0 +1,11 @@ +--- linux-2.4.22-oM3-orig/kernel/panic.c Tue Mar 30 15:37:18 2004 ++++ linux-2.4.22-oM3-mod/kernel/panic.c Mon May 17 18:44:01 2004 +@@ -51,7 +51,7 @@ + + bust_spinlocks(1); + va_start(args, fmt); +- vsprintf(buf, fmt, args); ++ vsnprintf(buf, sizeof(buf), fmt, args); + va_end(args); + printk(KERN_EMERG "Kernel panic: %s\n",buf); + if (in_interrupt()) diff --git a/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0427.patch b/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0427.patch new file mode 100644 index 000000000000..ddc9610f67f8 --- /dev/null +++ b/sys-kernel/aa-sources/files/aa-sources-2.4.23.CAN-2004-0427.patch @@ -0,0 +1,14 @@ +diff -Nar -U 4 linux-2.4.25/kernel/fork.c linux-2.4.25-new/kernel/fork.c +--- linux-2.4.25/kernel/fork.c 2004-02-18 05:36:32.000000000 -0800 ++++ linux-2.4.25-new/kernel/fork.c 2004-04-07 17:43:29.000000000 -0700 +@@ -825,8 +825,10 @@ + bad_fork_cleanup_namespace: + exit_namespace(p); + bad_fork_cleanup_mm: + exit_mm(p); ++ if (p->active_mm) ++ mmdrop(p->active_mm); + bad_fork_cleanup_sighand: + exit_sighand(p); + bad_fork_cleanup_fs: + exit_fs(p); /* blocking */ diff --git a/sys-kernel/aa-sources/files/aa-sources-2.6.5.CAN-2004-0075.patch b/sys-kernel/aa-sources/files/aa-sources-2.6.5.CAN-2004-0075.patch new file mode 100644 index 000000000000..e131c957cb0a --- /dev/null +++ b/sys-kernel/aa-sources/files/aa-sources-2.6.5.CAN-2004-0075.patch @@ -0,0 +1,39 @@ +--- linux-2.6.6-rc1/drivers/usb/media/vicam.c 2004-04-15 11:18:18.000000000 +0200 ++++ linux-2.6.6-rc1-mich/drivers/usb/media/vicam.c 2004-04-15 11:50:02.791604312 +0200 +@@ -612,15 +612,20 @@ vicam_ioctl(struct inode *inode, struct + + case VIDIOCSPICT: + { +- struct video_picture *vp = (struct video_picture *) arg; +- +- DBG("VIDIOCSPICT depth = %d, pal = %d\n", vp->depth, +- vp->palette); ++ struct video_picture vp; ++ ++ if (copy_from_user(&vp, arg, sizeof(vp))) { ++ retval = -EFAULT; ++ break; ++ } ++ ++ DBG("VIDIOCSPICT depth = %d, pal = %d\n", vp.depth, ++ vp.palette); + +- cam->gain = vp->brightness >> 8; ++ cam->gain = vp.brightness >> 8; + +- if (vp->depth != 24 +- || vp->palette != VIDEO_PALETTE_RGB24) ++ if (vp.depth != 24 ++ || vp.palette != VIDEO_PALETTE_RGB24) + retval = -EINVAL; + + break; +@@ -659,7 +659,7 @@ + { + + struct video_window *vw = (struct video_window *) arg; +- DBG("VIDIOCSWIN %d x %d\n", vw->width, vw->height); ++ DBG("VIDIOCSWIN %d x %d\n", vw.width, vw.height); + + if ( vw->width != 320 || vw->height != 240 ) + retval = -EFAULT; diff --git a/sys-kernel/aa-sources/files/aa-sources-2.6.5.CAN-2004-0228.patch b/sys-kernel/aa-sources/files/aa-sources-2.6.5.CAN-2004-0228.patch new file mode 100644 index 000000000000..746ade9ab1c0 --- /dev/null +++ b/sys-kernel/aa-sources/files/aa-sources-2.6.5.CAN-2004-0228.patch @@ -0,0 +1,11 @@ +--- linux-2.6.3/drivers/cpufreq/cpufreq_userspace.c.overflow 2004-02-18 04:57:16.000000000 +0100 ++++ linux-2.6.3/drivers/cpufreq/cpufreq_userspace.c 2004-05-14 11:40:37.000000000 +0200 +@@ -168,7 +168,7 @@ cpufreq_procctl(ctl_table *ctl, int writ + { + char buf[16], *p; + int cpu = (int) ctl->extra1; +- int len, left = *lenp; ++ unsigned int len, left = *lenp; + + if (!left || (filp->f_pos && !write) || !cpu_online(cpu)) { + *lenp = 0; diff --git a/sys-kernel/aa-sources/files/aa-sources-2.6.5.CAN-2004-0229.patch b/sys-kernel/aa-sources/files/aa-sources-2.6.5.CAN-2004-0229.patch new file mode 100644 index 000000000000..2b6dfff88e25 --- /dev/null +++ b/sys-kernel/aa-sources/files/aa-sources-2.6.5.CAN-2004-0229.patch @@ -0,0 +1,11 @@ +--- linux-2.6.3/drivers/video/fbmem.c.zy67 2004-04-23 07:32:22.000000000 -0400 ++++ linux-2.6.3/drivers/video/fbmem.c 2004-04-23 07:33:09.000000000 -0400 +@@ -1042,7 +1042,7 @@ + case FBIOGETCMAP: + if (copy_from_user(&cmap, (void *) arg, sizeof(cmap))) + return -EFAULT; +- return (fb_copy_cmap(&info->cmap, &cmap, 0)); ++ return (fb_copy_cmap(&info->cmap, &cmap, 2)); + case FBIOPAN_DISPLAY: + if (copy_from_user(&var, (void *) arg, sizeof(var))) + return -EFAULT; diff --git a/sys-kernel/aa-sources/files/aa-sources-2.6.5.CAN-2004-0427.patch b/sys-kernel/aa-sources/files/aa-sources-2.6.5.CAN-2004-0427.patch new file mode 100644 index 000000000000..adadefd53db2 --- /dev/null +++ b/sys-kernel/aa-sources/files/aa-sources-2.6.5.CAN-2004-0427.patch @@ -0,0 +1,11 @@ +--- linux-2.6.3/kernel/fork.c.zy64 2004-04-21 12:26:51.000000000 -0400 ++++ linux-2.6.3/kernel/fork.c 2004-04-21 12:29:34.000000000 -0400 +@@ -1073,6 +1073,8 @@ + exit_namespace(p); + bad_fork_cleanup_mm: + exit_mm(p); ++ if (p->active_mm) ++ mmdrop(p->active_mm); + bad_fork_cleanup_signal: + exit_signal(p); + bad_fork_cleanup_sighand: |