summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Yamin <plasmaroo@gentoo.org>2004-04-15 09:09:34 +0000
committerTim Yamin <plasmaroo@gentoo.org>2004-04-15 09:09:34 +0000
commit13eaf65f266b143ef613c7e675088309643c633c (patch)
tree4f87c4aae750baafef5b1dc3f813113b8e8c7570 /sys-kernel/ia64-sources
parentVersion bump for the CAN-2004-0109 issue; bug #47881. (Manifest recommit) (diff)
downloadgentoo-2-13eaf65f266b143ef613c7e675088309643c633c.tar.gz
gentoo-2-13eaf65f266b143ef613c7e675088309643c633c.tar.bz2
gentoo-2-13eaf65f266b143ef613c7e675088309643c633c.zip
Version bump for the CAN-2004-0109 issue; bug #47881.
Diffstat (limited to 'sys-kernel/ia64-sources')
-rw-r--r--sys-kernel/ia64-sources/ChangeLog8
-rw-r--r--sys-kernel/ia64-sources/files/digest-ia64-sources-2.4.24-r22
-rw-r--r--sys-kernel/ia64-sources/files/ia64-sources-2.4.24.CAN-2004-0109.patch87
-rw-r--r--sys-kernel/ia64-sources/ia64-sources-2.4.24-r2.ebuild63
4 files changed, 159 insertions, 1 deletions
diff --git a/sys-kernel/ia64-sources/ChangeLog b/sys-kernel/ia64-sources/ChangeLog
index 9c6517c4a7a1..e2dc68095c65 100644
--- a/sys-kernel/ia64-sources/ChangeLog
+++ b/sys-kernel/ia64-sources/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-kernel/ia64-sources
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ia64-sources/ChangeLog,v 1.11 2004/04/12 16:36:22 aliz Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ia64-sources/ChangeLog,v 1.12 2004/04/15 09:09:33 plasmaroo Exp $
+
+*ia64-sources-2.4.24-r2 (15 Apr 2004)
+
+ 15 Apr 2004; <plasmaroo@gentoo.org> ia64-sources-2.4.24-r2.ebuild,
+ files/ia64-sources-2.4.24.CAN-2004-0109.patch:
+ Version bump for the CAN-2004-0109 issue; bug #47881.
12 Apr 2004; Daniel Ahlberg <aliz@gentoo.org> ia64-sources-2.4.22-r2.ebuild,
ia64-sources-2.4.24-r1.ebuild:
diff --git a/sys-kernel/ia64-sources/files/digest-ia64-sources-2.4.24-r2 b/sys-kernel/ia64-sources/files/digest-ia64-sources-2.4.24-r2
new file mode 100644
index 000000000000..2af043964e41
--- /dev/null
+++ b/sys-kernel/ia64-sources/files/digest-ia64-sources-2.4.24-r2
@@ -0,0 +1,2 @@
+MD5 1e055c42921b2396a559d84df4c3d9aa linux-2.4.24.tar.bz2 29837818
+MD5 e62d6b4be335b6dbafc535c59833cd1e linux-2.4.24-ia64-040109.diff.bz2 69525
diff --git a/sys-kernel/ia64-sources/files/ia64-sources-2.4.24.CAN-2004-0109.patch b/sys-kernel/ia64-sources/files/ia64-sources-2.4.24.CAN-2004-0109.patch
new file mode 100644
index 000000000000..d02b51c57fc6
--- /dev/null
+++ b/sys-kernel/ia64-sources/files/ia64-sources-2.4.24.CAN-2004-0109.patch
@@ -0,0 +1,87 @@
+--- 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 <asm/page.h>
+
+ #include "rock.h"
+
+@@ -419,7 +420,7 @@
+ 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 @@
+ 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 @@
+ * 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 @@
+ 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/ia64-sources/ia64-sources-2.4.24-r2.ebuild b/sys-kernel/ia64-sources/ia64-sources-2.4.24-r2.ebuild
new file mode 100644
index 000000000000..ea55837e6299
--- /dev/null
+++ b/sys-kernel/ia64-sources/ia64-sources-2.4.24-r2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ia64-sources/ia64-sources-2.4.24-r2.ebuild,v 1.1 2004/04/15 09:09:33 plasmaroo Exp $
+
+IUSE=""
+
+# OKV=original kernel version, KV=patched kernel version. They can be the same.
+
+# Kernel ebuilds using the kernel.eclass can remove any patch that you
+# do not want to apply by simply setting the KERNEL_EXCLUDE shell
+# variable to the string you want to exclude (for instance
+# KERNEL_EXCLUDE="evms" would not patch any patches whose names match
+# *evms*). Kernels are only tested in the default configuration, but
+# this may be useful if you know that a particular patch is causing a
+# conflict with a patch you personally want to apply, or some other
+# similar situation.
+
+ETYPE="sources"
+
+inherit kernel eutils
+OKV="`echo ${PV}|sed -e 's:^\([0-9]\+\.[0-9]\+\.[0-9]\+\).*:\1:'`"
+EXTRAVERSION="-${PN/-*/}"
+[ ! "${PR}" == "r0" ] && EXTRAVERSION="${EXTRAVERSION}-${PR}"
+KV="${OKV}${EXTRAVERSION}"
+
+S=${WORKDIR}/linux-${KV}
+
+# Documentation on the patches contained in this kernel will be installed
+# to /usr/share/doc/gentoo-sources-${PV}/patches.txt.gz
+
+#MYCSET="1.1063.2.37-to-1.1088"
+MYSNAPSHOT="040109"
+DESCRIPTION="Full sources for the Gentoo Kernel."
+SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2
+mirror://kernel/linux/kernel/ports/ia64/v2.4/linux-${OKV}-ia64-${MYSNAPSHOT}.diff.bz2"
+
+HOMEPAGE="http://www.gentoo.org/ http://www.kernel.org/"
+LICENSE="GPL-2"
+KEYWORDS="-* ~ia64"
+SLOT="${KV}"
+
+src_unpack() {
+
+ unpack linux-${OKV}.tar.bz2
+ cd ${WORKDIR}
+ mv linux-${OKV} linux-${KV} || die "Error moving kernel source tree to linux-${KV}"
+ cd ${WORKDIR}/linux-${KV}
+# [ ! -e ${DISTDIR}/cset-${MYCSET}.txt.gz ] && die "patch file not found"
+# cat ${DISTDIR}/cset-${MYCSET}.txt.gz | gzip -d | patch -f -p1
+ [ ! -e ${DISTDIR}/linux-${OKV}-ia64-${MYSNAPSHOT}.diff.bz2 ] && die "patch not found"
+ cat ${DISTDIR}/linux-${OKV}-ia64-${MYSNAPSHOT}.diff.bz2 | bzip2 -d | patch -f -p1
+
+ # 2.4.24 includes the do_brk, mremap and rtc fixes, so those
+ # patches aren't needed (29 Jan 2004 agriffis)
+
+ epatch ${FILESDIR}/${P}.munmap.patch || die "Failed to apply munmap patch!"
+ epatch ${FILESDIR}/${P}.CAN-2004-0109.patch || die "Failed to patch CAN-2004-0109 vulnerability!"
+ kernel_universal_unpack
+}
+
+pkg_postinst() {
+ kernel_pkg_postinst
+}