summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Yamin <plasmaroo@gentoo.org>2004-04-15 15:25:04 +0000
committerTim Yamin <plasmaroo@gentoo.org>2004-04-15 15:25:04 +0000
commit374995fc9d6856ec1347467fae819725f3cf2347 (patch)
treed707c48d4aa2f6dbfe6fc88c02c560e87d869eca /sys-kernel
parentChanged x11-base/xfree dependancy to virtual/x11 to fix bug #47760 (Manifest ... (diff)
downloadgentoo-2-374995fc9d6856ec1347467fae819725f3cf2347.tar.gz
gentoo-2-374995fc9d6856ec1347467fae819725f3cf2347.tar.bz2
gentoo-2-374995fc9d6856ec1347467fae819725f3cf2347.zip
Version bump for the CAN-2004-0109 issue; bug #47881.
Diffstat (limited to 'sys-kernel')
-rw-r--r--sys-kernel/wolk-sources/ChangeLog8
-rw-r--r--sys-kernel/wolk-sources/files/digest-wolk-sources-4.11-r2 (renamed from sys-kernel/wolk-sources/files/digest-wolk-sources-4.11-r1)0
-rw-r--r--sys-kernel/wolk-sources/files/digest-wolk-sources-4.9-r5 (renamed from sys-kernel/wolk-sources/files/digest-wolk-sources-4.9-r4)0
-rw-r--r--sys-kernel/wolk-sources/files/wolk-sources.CAN-2004-0109.patch87
-rw-r--r--sys-kernel/wolk-sources/wolk-sources-4.11-r2.ebuild46
-rw-r--r--sys-kernel/wolk-sources/wolk-sources-4.9-r5.ebuild98
6 files changed, 238 insertions, 1 deletions
diff --git a/sys-kernel/wolk-sources/ChangeLog b/sys-kernel/wolk-sources/ChangeLog
index 2e19a8f8fdb9..c1e32d1748d2 100644
--- a/sys-kernel/wolk-sources/ChangeLog
+++ b/sys-kernel/wolk-sources/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-kernel/wolk-sources
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/wolk-sources/ChangeLog,v 1.38 2004/04/12 16:36:23 aliz Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/wolk-sources/ChangeLog,v 1.39 2004/04/15 15:25:04 plasmaroo Exp $
+
+*wolk-sources-4.9-r5 (15 Apr 2004)
+
+ 15 Apr 2004; <plasmaroo@gentoo.org> wolk-sources-4.11-r2.ebuild,
+ wolk-sources-4.9-r5.ebuild, files/wolk-sources.CAN-2004-0109.patch:
+ Version bump for the CAN-2004-0109 issue; bug #47881.
12 Apr 2004; Daniel Ahlberg <aliz@gentoo.org> wolk-sources-4.11-r1.ebuild,
wolk-sources-4.9-r4.ebuild:
diff --git a/sys-kernel/wolk-sources/files/digest-wolk-sources-4.11-r1 b/sys-kernel/wolk-sources/files/digest-wolk-sources-4.11-r2
index c8b173eb8305..c8b173eb8305 100644
--- a/sys-kernel/wolk-sources/files/digest-wolk-sources-4.11-r1
+++ b/sys-kernel/wolk-sources/files/digest-wolk-sources-4.11-r2
diff --git a/sys-kernel/wolk-sources/files/digest-wolk-sources-4.9-r4 b/sys-kernel/wolk-sources/files/digest-wolk-sources-4.9-r5
index 1a638cec623d..1a638cec623d 100644
--- a/sys-kernel/wolk-sources/files/digest-wolk-sources-4.9-r4
+++ b/sys-kernel/wolk-sources/files/digest-wolk-sources-4.9-r5
diff --git a/sys-kernel/wolk-sources/files/wolk-sources.CAN-2004-0109.patch b/sys-kernel/wolk-sources/files/wolk-sources.CAN-2004-0109.patch
new file mode 100644
index 000000000000..d02b51c57fc6
--- /dev/null
+++ b/sys-kernel/wolk-sources/files/wolk-sources.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/wolk-sources/wolk-sources-4.11-r2.ebuild b/sys-kernel/wolk-sources/wolk-sources-4.11-r2.ebuild
new file mode 100644
index 000000000000..3006de50d5f1
--- /dev/null
+++ b/sys-kernel/wolk-sources/wolk-sources-4.11-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/wolk-sources/wolk-sources-4.11-r2.ebuild,v 1.1 2004/04/15 15:25:04 plasmaroo Exp $
+
+# OKV=original kernel version, KV=patched kernel version. They can be the same.
+
+ETYPE="sources"
+
+inherit kernel eutils
+IUSE=""
+OKV=2.4.20
+KV=${OKV}-wolk4.11s-${PR}
+EXTRAVERSION=-wolk4.11s-${PR}
+
+S=${WORKDIR}/linux-${KV}
+DESCRIPTION="Working Overloaded Linux Kernel (Server-Edition)"
+
+KEYWORDS="~x86 ~ppc ~sparc ~alpha ~hppa ~mips"
+
+SRC_PATH="mirror://www.kernel.org/pub/linux/kernel/v2.4/linux-${OKV}.tar.bz2"
+SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2
+ mirror://sourceforge/wolk/linux-${OKV}-wolk4.10s.patch.bz2
+ mirror://sourceforge/wolk/linux-${OKV}-wolk4.10s-to-4.11s.patch.bz2"
+
+SLOT="${KV}"
+HOMEPAGE="http://wolk.sourceforge.net http://www.kernel.org"
+
+src_unpack() {
+ unpack linux-${OKV}.tar.bz2 || die
+ mv linux-${OKV} linux-${KV} || die
+ cd ${WORKDIR}/linux-${KV} || die
+ epatch ${DISTDIR}/linux-${OKV}-wolk4.10s.patch.bz2 || die
+ epatch ${DISTDIR}/linux-${OKV}-wolk4.10s-to-4.11s.patch.bz2 || die
+
+ epatch ${FILESDIR}/${PN}.CAN-2003-0985.patch || die "Failed to patch mremap() vulnerability!"
+ epatch ${FILESDIR}/${PN}.CAN-2004-0109.patch || die "Failed to patch CAN-2004-0109 vulnerability!"
+
+ kernel_universal_unpack
+}
+
+pkg_postinst() {
+ einfo
+ einfo "This is the base WOLK 4.11 Server Edition with all"
+ einfo "recent security fixes, but no workstation patches."
+ einfo
+}
diff --git a/sys-kernel/wolk-sources/wolk-sources-4.9-r5.ebuild b/sys-kernel/wolk-sources/wolk-sources-4.9-r5.ebuild
new file mode 100644
index 000000000000..167530bfc673
--- /dev/null
+++ b/sys-kernel/wolk-sources/wolk-sources-4.9-r5.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/wolk-sources/wolk-sources-4.9-r5.ebuild,v 1.1 2004/04/15 15:25:04 plasmaroo Exp $
+
+# OKV=original kernel version, KV=patched kernel version. They can be the same.
+
+IUSE="build wolk-bootsplash wolk-supermount ipv6"
+ETYPE="sources"
+
+inherit kernel eutils
+
+OKV=2.4.20
+EXTRAVERSION="-${PN/-*/}4.9s-${PR}"
+KV="${OKV}${EXTRAVERSION}"
+
+S=${WORKDIR}/linux-${KV}
+DESCRIPTION="Working Overloaded Linux Kernel (Server-Edition)"
+KEYWORDS="x86 ~ppc ~sparc ~alpha ~hppa ~mips"
+SRC_PATH="mirror://www.kernel.org/pub/linux/kernel/v2.4/linux-${OKV}.tar.bz2"
+
+SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2
+ mirror://sourceforge/wolk/linux-${OKV}-wolk4.0s.patch.bz2
+ mirror://sourceforge/wolk/linux-${OKV}-wolk4.0s-to-4.1s.patch.bz2
+ mirror://sourceforge/wolk/linux-${OKV}-wolk4.1s-to-4.2s.patch.bz2
+ mirror://sourceforge/wolk/linux-${OKV}-wolk4.2s-to-4.3s.patch.bz2
+ mirror://sourceforge/wolk/linux-${OKV}-wolk4.3s-to-4.4s.patch.bz2
+ mirror://sourceforge/wolk/linux-${OKV}-wolk4.4s-to-4.5s.patch.bz2
+ mirror://sourceforge/wolk/linux-${OKV}-wolk4.5s-to-4.6s.patch.bz2
+ mirror://sourceforge/wolk/linux-${OKV}-wolk4.6s-to-4.7s.patch.bz2
+ mirror://sourceforge/wolk/linux-${OKV}-wolk4.7s-to-4.8s.patch.bz2
+ mirror://sourceforge/wolk/linux-${OKV}-wolk4.8s-to-4.9s.patch.bz2
+ wolk-bootsplash? ( http://wolk.sourceforge.net/Workstation-Edition/1007_bootsplash-v3.0.7-2.4.20-0.patch
+ http://wolk.sourceforge.net/Workstation-Edition/1007_bootsplash-v3.0.7-2.4.20-1-aty128.patch
+ http://wolk.sourceforge.net/Workstation-Edition/1007_bootsplash-v3.0.8-2.4.20-update.patch)
+ wolk-supermount? ( http://wolk.sourceforge.net/Workstation-Edition/1008_supermount-1.2.9-2.4.20-OLDIDE.patch)
+ ipv6? ( http://wolk.sourceforge.net/Workstation-Edition/1009_mipv6-0.9.5.1-v2.4.20-wolk4.0s.patch )"
+
+SLOT="${KV}"
+HOMEPAGE="http://wolk.sourceforge.net http://www.kernel.org"
+
+src_unpack() {
+ local PATCHFILES="-wolk4.0s -wolk4.0s-to-4.1s -wolk4.1s-to-4.2s -wolk4.2s-to-4.3s -wolk4.3s-to-4.4s -wolk4.4s-to-4.5s -wolk4.5s-to-4.6s -wolk4.6s-to-4.7s -wolk4.7s-to-4.8s -wolk4.8s-to-4.9s"
+ unpack linux-${OKV}.tar.bz2 || die
+
+ mv linux-${OKV} linux-${KV} || die
+ cd ${WORKDIR}/linux-${KV} || die
+ for PATCHES in ${PATCHFILES}
+ do
+ epatch ${DISTDIR}/linux-${OKV}${PATCHES}.patch.bz2 || die
+ done
+
+ einfo "Applying NVIDIA patches..."
+ epatch ${FILESDIR}/wolk-4.9s-page.h.patch || die
+ epatch ${FILESDIR}/wolk-4.9s-setup.c.patch || die
+
+ einfo "Applying other needed patches..."
+ epatch ${FILESDIR}/wolk-4.9s-speedstep.c.patch || die
+
+ if [ "`use wolk-supermount`" ]; then
+ ewinfo "Applying Supermount patch..."
+ epatch ${DISTDIR}/1008_supermount-1.2.9-2.4.20-OLDIDE.patch || die
+ fi
+ if [ "`use ipv6`" ]; then
+ einfo "Applying MIPv6 patch..."
+ epatch ${DISTDIR}/1009_mipv6-0.9.5.1-v2.4.20-wolk4.0s.patch || die
+ fi
+
+ if [ "`use wolk-bootsplash`" ]; then
+ einfo "Applying Bootsplash patches..."
+ epatch ${DISTDIR}/1007_bootsplash-v3.0.7-2.4.20-0.patch || die
+ epatch ${DISTDIR}/1007_bootsplash-v3.0.7-2.4.20-1-aty128.patch || die
+ epatch ${DISTDIR}/1007_bootsplash-v3.0.8-2.4.20-update.patch || die
+ fi
+
+ epatch ${FILESDIR}/do_brk_fix.patch || die "Failed to patch for do_brk() vulnerability!"
+ epatch ${FILESDIR}/${PN}.CAN-2003-0985.patch || die "Failed to patch mremap() vulnerability!"
+ epatch ${FILESDIR}/${PN}.CAN-2004-0109.patch || die "Failed to patch CAN-2004-0109 vulnerability!"
+ epatch ${FILESDIR}/${PN}-4.9s.rtc_fix.patch || die "Failed to patch RTC vulnerabilities!"
+ epatch ${FILESDIR}/${PN}-4.9s.munmap.patch || die "Failed to apply munmap patch!"
+
+ kernel_universal_unpack
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Since wolk-sources-4.6s the 3com 3c59x v0.99Za drivers are excluded."
+ einfo "For many people they may work, but too many people expecting problems"
+ einfo "with this drivers. They will be reintroduced when they are fixed."
+ einfo "You have to fall back to an earlier release of the wolk kernel when you want"
+ einfo "to use one of this drivers."
+ einfo
+ einfo "This new ebuild has support for the workstation patches."
+ einfo "With the wolk-bootsplash, wolk-supermount, and"
+ einfo "ipv6 use flags you can take advantage of the"
+ einfo "Bootsplash, Supermount, and MIPv6 patches."
+ ewarn "Patches not guaranteed; YMMV..."
+ einfo
+}