summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Yamin <plasmaroo@gentoo.org>2004-04-15 12:21:47 +0000
committerTim Yamin <plasmaroo@gentoo.org>2004-04-15 12:21:47 +0000
commit8401da3b4a6a8a09ec126e89fff3ce95d10da6a8 (patch)
treede5fdf34d52b3a8afcd00788d47065a160ccf630 /sys-kernel
parentMarked stable on mips. (diff)
downloadhistorical-8401da3b4a6a8a09ec126e89fff3ce95d10da6a8.tar.gz
historical-8401da3b4a6a8a09ec126e89fff3ce95d10da6a8.tar.bz2
historical-8401da3b4a6a8a09ec126e89fff3ce95d10da6a8.zip
Version bump for the CAN-2004-0109 issue; bug #47881.
Diffstat (limited to 'sys-kernel')
-rw-r--r--sys-kernel/ppc64-sources/ChangeLog9
-rw-r--r--sys-kernel/ppc64-sources/Manifest7
-rw-r--r--sys-kernel/ppc64-sources/files/digest-ppc64-sources-2.6.4-r1 (renamed from sys-kernel/ppc64-sources/files/digest-ppc64-sources-2.6.4)0
-rw-r--r--sys-kernel/ppc64-sources/files/ppc64-sources-2.6.4.CAN-2004-0109.patch88
-rw-r--r--sys-kernel/ppc64-sources/ppc64-sources-2.6.4-r1.ebuild (renamed from sys-kernel/ppc64-sources/ppc64-sources-2.6.4.ebuild)33
5 files changed, 114 insertions, 23 deletions
diff --git a/sys-kernel/ppc64-sources/ChangeLog b/sys-kernel/ppc64-sources/ChangeLog
index 75ea0c31ca72..ec9ee801e22b 100644
--- a/sys-kernel/ppc64-sources/ChangeLog
+++ b/sys-kernel/ppc64-sources/ChangeLog
@@ -1,10 +1,15 @@
# ChangeLog for sys-kernel/ppc64-sources
# Copyright 2000-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ppc64-sources/ChangeLog,v 1.2 2004/04/05 21:31:07 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ppc64-sources/ChangeLog,v 1.3 2004/04/15 12:21:47 plasmaroo Exp $
+
+*ppc64-sources-2.6.4-r1 (15 Apr 2004)
+
+ 15 Apr 2004; <plasmaroo@gentoo.org> ppc64-sources-2.6.4-r1.ebuild,
+ ppc64-sources-2.6.4.ebuild, files/ppc64-sources-2.6.4.CAN-2004-0109.patch:
+ Version bump for the CAN-2004-0109 issue; bug #47881.
*ppc64-sources-2.6.4 (30 Mar 2004)
30 Mar 2004; Tom Gall <tgall@gentoo.org>
ppc64-sources-2.6.4.ebuild:
Initial import...
-
diff --git a/sys-kernel/ppc64-sources/Manifest b/sys-kernel/ppc64-sources/Manifest
index b348ee7edcb7..bc38208456af 100644
--- a/sys-kernel/ppc64-sources/Manifest
+++ b/sys-kernel/ppc64-sources/Manifest
@@ -1,4 +1,5 @@
-MD5 37846cc823c056554078424877d57ec4 files/digest-ppc64-sources-2.6.4 198
+MD5 20766856e59ec6a966e724126c90b629 ChangeLog 604
MD5 28d3906c49ca260f1bc0b39170d02ed0 metadata.xml 405
-MD5 ef45ac9e78c6e8221cdcdd9cc6246f98 ppc64-sources-2.6.4.ebuild 3182
-MD5 1be210d349aa5b2ce446e7c64316eff8 ChangeLog 360
+MD5 0c75fc39d6ac07bb4df3d77afcf27c31 ppc64-sources-2.6.4-r1.ebuild 3167
+MD5 37846cc823c056554078424877d57ec4 files/digest-ppc64-sources-2.6.4-r1 198
+MD5 31ec7b4310dd7be3e34aab0204f9b1e8 files/ppc64-sources-2.6.4.CAN-2004-0109.patch 2072
diff --git a/sys-kernel/ppc64-sources/files/digest-ppc64-sources-2.6.4 b/sys-kernel/ppc64-sources/files/digest-ppc64-sources-2.6.4-r1
index 9a1cbf61362b..9a1cbf61362b 100644
--- a/sys-kernel/ppc64-sources/files/digest-ppc64-sources-2.6.4
+++ b/sys-kernel/ppc64-sources/files/digest-ppc64-sources-2.6.4-r1
diff --git a/sys-kernel/ppc64-sources/files/ppc64-sources-2.6.4.CAN-2004-0109.patch b/sys-kernel/ppc64-sources/files/ppc64-sources-2.6.4.CAN-2004-0109.patch
new file mode 100644
index 000000000000..d7726c2e5aaf
--- /dev/null
+++ b/sys-kernel/ppc64-sources/files/ppc64-sources-2.6.4.CAN-2004-0109.patch
@@ -0,0 +1,88 @@
+--- linux/fs/isofs/rock.c.orig
++++ linux/fs/isofs/rock.c
+@@ -14,6 +14,7 @@
+ #include <linux/slab.h>
+ #include <linux/pagemap.h>
+ #include <linux/smp_lock.h>
+ #include <linux/buffer_head.h>
++#include <asm/page.h>
+
+ #include "rock.h"
+@@ -419,7 +420,7 @@ int parse_rock_ridge_inode_internal(stru
+ return 0;
+ }
+
+-static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr)
++static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr, char *plimit)
+ {
+ int slen;
+ int rootflag;
+@@ -431,16 +432,25 @@ static char *get_symlink_chunk(char *rpn
+ rootflag = 0;
+ switch (slp->flags & ~1) {
+ case 0:
++ if (slp->len > plimit - rpnt)
++ return NULL;
+ memcpy(rpnt, slp->text, slp->len);
+ rpnt+=slp->len;
+ break;
++ case 2:
++ if (rpnt >= plimit)
++ return NULL;
++ *rpnt++='.';
++ break;
+ case 4:
++ if (2 > plimit - rpnt)
++ return NULL;
+ *rpnt++='.';
+- /* fallthru */
+- case 2:
+ *rpnt++='.';
+ break;
+ case 8:
++ if (rpnt >= plimit)
++ return NULL;
+ rootflag = 1;
+ *rpnt++='/';
+ break;
+@@ -457,17 +467,23 @@ static char *get_symlink_chunk(char *rpn
+ * If there is another SL record, and this component
+ * record isn't continued, then add a slash.
+ */
+- if ((!rootflag) && (rr->u.SL.flags & 1) && !(oldslp->flags & 1))
++ if ((!rootflag) && (rr->u.SL.flags & 1) &&
++ !(oldslp->flags & 1)) {
++ if (rpnt >= plimit)
++ return NULL;
+ *rpnt++='/';
++ }
+ break;
+ }
+
+ /*
+ * If this component record isn't continued, then append a '/'.
+ */
+- if (!rootflag && !(oldslp->flags & 1))
++ if (!rootflag && !(oldslp->flags & 1)) {
++ if (rpnt >= plimit)
++ return NULL;
+ *rpnt++='/';
+-
++ }
+ }
+ return rpnt;
+ }
+@@ -548,7 +564,10 @@ static int rock_ridge_symlink_readpage(s
+ CHECK_SP(goto out);
+ break;
+ case SIG('S', 'L'):
+- rpnt = get_symlink_chunk(rpnt, rr);
++ rpnt = get_symlink_chunk(rpnt, rr,
++ link + (PAGE_SIZE - 1));
++ if (rpnt == NULL)
++ goto out;
+ break;
+ case SIG('C', 'E'):
+ /* This tells is if there is a continuation record */
+
+
diff --git a/sys-kernel/ppc64-sources/ppc64-sources-2.6.4.ebuild b/sys-kernel/ppc64-sources/ppc64-sources-2.6.4-r1.ebuild
index 0c4061084258..2aa2c85b844e 100644
--- a/sys-kernel/ppc64-sources/ppc64-sources-2.6.4.ebuild
+++ b/sys-kernel/ppc64-sources/ppc64-sources-2.6.4-r1.ebuild
@@ -1,7 +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/ppc64-sources/ppc64-sources-2.6.4.ebuild,v 1.1 2004/03/31 04:32:28 tgall Exp $
-#OKV=original kernel version, KV=patched kernel version. They can be the same.
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ppc64-sources/ppc64-sources-2.6.4-r1.ebuild,v 1.1 2004/04/15 12:21:47 plasmaroo Exp $
ETYPE="sources"
inherit kernel
@@ -10,26 +9,23 @@ OKV="2.6.4"
######## last BK changeset in this patch: 1.1390
-EXTRAVERSION="`echo ${PV}-${PR/r/ames} | \
- sed -e 's/[0-9]\+\.[0-9]\+\.[0-9]\+\(.*\)/\1/'`"
+AMV=1
+EXTRAVERSION="-ames1-${PR}"
-KV=${PV}-${PR/r/ames}
-
-S=${WORKDIR}/linux-${OKV}
+KV=${PV}${EXTRAVERSION}
+S=${WORKDIR}/${PN}-${KV}
inherit eutils
-
IUSE="extlib"
# What's in this kernel?
-
# INCLUDED: 2.6 ames snapshot
DESCRIPTION="Full sources for the linux kernel 2.6 with ames's patchset"
SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${OKV}.tar.bz2
mirror://kernel/ppc64-ames264.patch.gz
ftp://ftp.linuxppc64.org/pub/people/tgall/ppc64-Makefilefix.patch"
-# mirror://gentoo/patches-${OKV}.bz2"
+# mirror://gentoo/patches-${OKV}.bz2"
KEYWORDS="-ppc ppc64"
DEPEND=" extlib? ( dev-libs/ucl )"
RDEPEND="sys-apps/module-init-tools"
@@ -37,18 +33,20 @@ SLOT=${KV}
PROVIDE="virtual/linux-sources
virtual/alsa"
-
src_unpack() {
cd ${WORKDIR}
unpack linux-${OKV}.tar.bz2
- mv linux-${OKV} ${PF}
- cd ${PF}
+ mv linux-${OKV} ${S}
+ cd ${S}
epatch ${DISTDIR}/ppc64-Makefilefix.patch
cp ${DISTDIR}/ppc64-ames264.patch.gz ${WORKDIR}
gunzip ${WORKDIR}/ppc64-ames264.patch.gz
epatch ${WORKDIR}/ppc64-ames264.patch
+ rm ${WORKDIR}/ppc64-ames264.patch
+
+ epatch ${FILESDIR}/${P}.CAN-2004-0109.patch || die "Failed to patch CAN-2004-0109 vulnerability!"
# Gentoo Linux uses /boot, so fix 'make install' to work properly
# also fix the EXTRAVERSION
@@ -58,18 +56,17 @@ src_unpack() {
Makefile.orig >Makefile || die # test, remove me if Makefile ok
rm Makefile.orig
- cd Documentation/DocBook
+ cd Documentation/DocBook
sed -e "s:db2:docbook2:g" Makefile > Makefile.new \
&& mv Makefile.new Makefile
+ cd ${S}
- cd ${WORKDIR}/${PF}
- #This is needed on > 2.5
+ # This is needed on > 2.5
MY_ARCH=${ARCH}
unset ARCH
- #sometimes we have icky kernel symbols; this seems to get rid of them
+ # Sometimes we have icky kernel symbols; this seems to get rid of them
make mrproper || die "make mrproper died"
ARCH=${MY_ARCH}
-
}
src_install() {