diff options
author | Tim Yamin <plasmaroo@gentoo.org> | 2004-04-15 10:52:30 +0000 |
---|---|---|
committer | Tim Yamin <plasmaroo@gentoo.org> | 2004-04-15 10:52:30 +0000 |
commit | 1b7eb9cfb56c6f49cb169075a9c116b08fed7430 (patch) | |
tree | f868b853980dd1483763b01a309d2105ecb125bd /sys-kernel/ppc-sources | |
parent | Version bump for the CAN-2004-0109 issue; bug #47881. (Manifest recommit) (diff) | |
download | gentoo-2-1b7eb9cfb56c6f49cb169075a9c116b08fed7430.tar.gz gentoo-2-1b7eb9cfb56c6f49cb169075a9c116b08fed7430.tar.bz2 gentoo-2-1b7eb9cfb56c6f49cb169075a9c116b08fed7430.zip |
Version bump for the CAN-2004-0109 issue; bug #47881.
Diffstat (limited to 'sys-kernel/ppc-sources')
4 files changed, 178 insertions, 1 deletions
diff --git a/sys-kernel/ppc-sources/ChangeLog b/sys-kernel/ppc-sources/ChangeLog index dddb141ddbca..d1dc8ba4c771 100644 --- a/sys-kernel/ppc-sources/ChangeLog +++ b/sys-kernel/ppc-sources/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-kernel/ppc-sources # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ppc-sources/ChangeLog,v 1.37 2004/04/12 16:36:23 aliz Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ppc-sources/ChangeLog,v 1.38 2004/04/15 10:52:30 plasmaroo Exp $ + +*ppc-sources-2.4.24-r3 (15 Apr 2004) + + 15 Apr 2004; <plasmaroo@gentoo.org> ppc-sources-2.4.24-r3.ebuild, + files/ppc-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> ppc-sources-2.4.24-r2.ebuild: Add IUSE= diff --git a/sys-kernel/ppc-sources/files/digest-ppc-sources-2.4.24-r3 b/sys-kernel/ppc-sources/files/digest-ppc-sources-2.4.24-r3 new file mode 100644 index 000000000000..e0aa79aa0c70 --- /dev/null +++ b/sys-kernel/ppc-sources/files/digest-ppc-sources-2.4.24-r3 @@ -0,0 +1,2 @@ +MD5 1e055c42921b2396a559d84df4c3d9aa linux-2.4.24.tar.bz2 29837818 +MD5 58bf0f69df04d07ed73237ee63ac09ac patch-2.4.24-ppc-r2.bz2 1706398 diff --git a/sys-kernel/ppc-sources/files/ppc-sources-2.4.24.CAN-2004-0109.patch b/sys-kernel/ppc-sources/files/ppc-sources-2.4.24.CAN-2004-0109.patch new file mode 100644 index 000000000000..d02b51c57fc6 --- /dev/null +++ b/sys-kernel/ppc-sources/files/ppc-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/ppc-sources/ppc-sources-2.4.24-r3.ebuild b/sys-kernel/ppc-sources/ppc-sources-2.4.24-r3.ebuild new file mode 100644 index 000000000000..980c55ccd0c6 --- /dev/null +++ b/sys-kernel/ppc-sources/ppc-sources-2.4.24-r3.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ppc-sources/ppc-sources-2.4.24-r3.ebuild,v 1.1 2004/04/15 10:52:30 plasmaroo Exp $ + +# Included patches: +# benh 2.4.24-0 +# pegasos 2.4.24-2 +# orinoco monitor 0.13 +# O_STREAMING 2.4.20-pre9-1 +# GRSecurity 2.0-rc4 +# ea+acl+nfsacl 0.8.65 +# XFS 2.4.23 +# Loop-Jari 2.4.22.0 +# FreeS/WAN 2.01 +# x509 1.4.5 +# Extra bootlogos +# pmac_pmu fix, see bug #41668 +# munmap fix, see bug #42024 + +ETYPE="sources" +inherit kernel +IUSE="" + +OKV="2.4.24" + +EXTRAVERSION="`echo ${PV}-${PN/-sources/}-${PR} | \ + sed -e 's/[0-9]\+\.[0-9]\+\.[0-9]\+\(.*\)/\1/'`" + +KV=${PV}-${PN/-sources/}-${PR} +S=${WORKDIR}/linux-${KV} + +inherit eutils + +DESCRIPTION="Full sources for the linux kernel 2.4.24 with benh's patchset" +SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2 + mirror://gentoo/patch-${KV/r3/r2}.bz2" + +KEYWORDS="ppc -ppc64" +DEPEND=">=sys-devel/binutils-2.11.90.0.31" +RDEPEND=">=sys-libs/ncurses-5.2 dev-lang/perl virtual/modutils sys-devel/make" + +SLOT=${KV} +PROVIDE="virtual/linux-sources" + +src_unpack() { + cd ${WORKDIR} + unpack linux-${OKV}.tar.bz2 + + mv linux-${OKV} ${PF} + cd ${PF} + bzcat ${DISTDIR}/patch-${KV/r3/r2}.bz2 | patch -p1 || die "Patching failed!" + epatch ${FILESDIR}/${P}.CAN-2004-0109.patch || die "Failed to patch CAN-2004-0109 vulnerability!" + find . -iname "*~" | xargs rm 2> /dev/null + + # Gentoo Linux uses /boot, so fix 'make install' to work properly + # also fix the EXTRAVERSION + mv Makefile Makefile.orig + sed -e 's:#export\tINSTALL_PATH:export\tINSTALL_PATH:' \ + -e "s:^\(EXTRAVERSION =\).*:\1 ${EXTRAVERSION}:" \ + Makefile.orig >Makefile || die # test, remove me if Makefile ok + rm Makefile.orig + + cd ${WORKDIR}/${PF} + MY_ARCH=${ARCH} + unset ARCH + + # Sometimes we have icky kernel symbols; this seems to get rid of them + make mrproper || die "make mrproper died" + ARCH=${MY_ARCH} +} + +src_install() { + dodir /usr/src + echo ">>> Copying sources..." + mv ${WORKDIR}/* ${D}/usr/src +} +pkg_postinst() { + if [ ! -e ${ROOT}usr/src/linux ] + then + ln -sf ${PF} ${ROOT}/usr/src/linux + fi +} |