diff options
author | Tim Yamin <plasmaroo@gentoo.org> | 2004-04-15 09:09:34 +0000 |
---|---|---|
committer | Tim Yamin <plasmaroo@gentoo.org> | 2004-04-15 09:09:34 +0000 |
commit | 13eaf65f266b143ef613c7e675088309643c633c (patch) | |
tree | 4f87c4aae750baafef5b1dc3f813113b8e8c7570 /sys-kernel/ia64-sources | |
parent | Version bump for the CAN-2004-0109 issue; bug #47881. (Manifest recommit) (diff) | |
download | gentoo-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')
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 +} |