summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Yamin <plasmaroo@gentoo.org>2004-04-15 18:04:23 +0000
committerTim Yamin <plasmaroo@gentoo.org>2004-04-15 18:04:23 +0000
commit3e1adcdb68abd33b79699a764c7751ec95b0cd62 (patch)
treef47fa3cea328e4787f0cbf9ea0fbff185260ff62 /sys-kernel/usermode-sources
parentspaaaaaaarc (Manifest recommit) (diff)
downloadgentoo-2-3e1adcdb68abd33b79699a764c7751ec95b0cd62.tar.gz
gentoo-2-3e1adcdb68abd33b79699a764c7751ec95b0cd62.tar.bz2
gentoo-2-3e1adcdb68abd33b79699a764c7751ec95b0cd62.zip
Version bump for the CAN-2004-0109 issue; bug #47881.
Diffstat (limited to 'sys-kernel/usermode-sources')
-rw-r--r--sys-kernel/usermode-sources/ChangeLog11
-rw-r--r--sys-kernel/usermode-sources/files/digest-usermode-sources-2.4.24-r2 (renamed from sys-kernel/usermode-sources/files/digest-usermode-sources-2.4.24-r1)0
-rw-r--r--sys-kernel/usermode-sources/files/digest-usermode-sources-2.6.3-r2 (renamed from sys-kernel/usermode-sources/files/digest-usermode-sources-2.6.3-r1)0
-rw-r--r--sys-kernel/usermode-sources/files/usermode-sources-2.4.24.CAN-2004-0109.patch87
-rw-r--r--sys-kernel/usermode-sources/files/usermode-sources-2.6.3.CAN-2004-0109.patch88
-rw-r--r--sys-kernel/usermode-sources/usermode-sources-2.4.24-r2.ebuild (renamed from sys-kernel/usermode-sources/usermode-sources-2.4.24-r1.ebuild)26
-rw-r--r--sys-kernel/usermode-sources/usermode-sources-2.6.3-r2.ebuild (renamed from sys-kernel/usermode-sources/usermode-sources-2.6.3-r1.ebuild)6
7 files changed, 197 insertions, 21 deletions
diff --git a/sys-kernel/usermode-sources/ChangeLog b/sys-kernel/usermode-sources/ChangeLog
index f33dd681b317..18bca9320f2c 100644
--- a/sys-kernel/usermode-sources/ChangeLog
+++ b/sys-kernel/usermode-sources/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for sys-kernel/usermode-sources
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/usermode-sources/ChangeLog,v 1.29 2004/04/12 16:36:23 aliz Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/usermode-sources/ChangeLog,v 1.30 2004/04/15 18:04:22 plasmaroo Exp $
+
+*usermode-sources-2.6.3-r2 (15 Apr 2004)
+
+ 15 Apr 2004; <plasmaroo@gentoo.org>
+ +files/usermode-sources-2.4.24.CAN-2004-0109.patch,
+ +files/usermode-sources-2.6.3.CAN-2004-0109.patch,
+ -usermode-sources-2.4.24-r1.ebuild, +usermode-sources-2.4.24-r2.ebuild,
+ -usermode-sources-2.6.3-r1.ebuild, +usermode-sources-2.6.3-r2.ebuild:
+ Version bump for the CAN-2004-0109 issue; bug #47881.
12 Apr 2004; Daniel Ahlberg <aliz@gentoo.org>
usermode-sources-2.6.3-r1.ebuild:
diff --git a/sys-kernel/usermode-sources/files/digest-usermode-sources-2.4.24-r1 b/sys-kernel/usermode-sources/files/digest-usermode-sources-2.4.24-r2
index 1afde5baa80a..1afde5baa80a 100644
--- a/sys-kernel/usermode-sources/files/digest-usermode-sources-2.4.24-r1
+++ b/sys-kernel/usermode-sources/files/digest-usermode-sources-2.4.24-r2
diff --git a/sys-kernel/usermode-sources/files/digest-usermode-sources-2.6.3-r1 b/sys-kernel/usermode-sources/files/digest-usermode-sources-2.6.3-r2
index 4648c8799288..4648c8799288 100644
--- a/sys-kernel/usermode-sources/files/digest-usermode-sources-2.6.3-r1
+++ b/sys-kernel/usermode-sources/files/digest-usermode-sources-2.6.3-r2
diff --git a/sys-kernel/usermode-sources/files/usermode-sources-2.4.24.CAN-2004-0109.patch b/sys-kernel/usermode-sources/files/usermode-sources-2.4.24.CAN-2004-0109.patch
new file mode 100644
index 000000000000..d02b51c57fc6
--- /dev/null
+++ b/sys-kernel/usermode-sources/files/usermode-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/usermode-sources/files/usermode-sources-2.6.3.CAN-2004-0109.patch b/sys-kernel/usermode-sources/files/usermode-sources-2.6.3.CAN-2004-0109.patch
new file mode 100644
index 000000000000..d7726c2e5aaf
--- /dev/null
+++ b/sys-kernel/usermode-sources/files/usermode-sources-2.6.3.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/usermode-sources/usermode-sources-2.4.24-r1.ebuild b/sys-kernel/usermode-sources/usermode-sources-2.4.24-r2.ebuild
index 283e7bc8831d..65c140cb52e4 100644
--- a/sys-kernel/usermode-sources/usermode-sources-2.4.24-r1.ebuild
+++ b/sys-kernel/usermode-sources/usermode-sources-2.4.24-r2.ebuild
@@ -1,6 +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/usermode-sources/usermode-sources-2.4.24-r1.ebuild,v 1.1 2004/02/18 18:48:56 iggy Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/usermode-sources/usermode-sources-2.4.24-r2.ebuild,v 1.1 2004/04/15 18:04:22 plasmaroo Exp $
ETYPE="sources"
inherit kernel eutils
@@ -13,9 +13,9 @@ SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${PV}.tar.bz2
mirror://sourceforge/user-mode-linux/${UML_PATCH}.bz2"
HOMEPAGE="http://www.kernel.org/ http://user-mode-linux.sourceforge.net"
LICENSE="GPL-2"
-SLOT="${PV}"
+SLOT="${PV}-${PR}"
KEYWORDS="x86"
-EXTRAVERSION=${PR}
+EXTRAVERSION="-uml1-${PR}"
RESTRICT="nomirror"
# console-tools is needed to solve the loadkeys fiasco.
@@ -23,28 +23,20 @@ RESTRICT="nomirror"
DEPEND=">=sys-devel/binutils-2.11.90.0.31 dev-lang/perl"
RDEPEND=">=sys-libs/ncurses-5.2"
-S=${WORKDIR}/linux-${PV}
+S=${WORKDIR}/linux-${PV}${EXTRAVERSION}
src_unpack() {
- # unpack vanilla sources
cd ${WORKDIR}
unpack linux-${PV}.tar.bz2
- # apply usermode patch
- cd ${S}
+ mv linux-${PV} ${S} && cd ${S}
epatch ${DISTDIR}/${UML_PATCH}.bz2
- epatch ${FILESDIR}/${P}.munmap.patch || die "failed to apply munmap patch"
-
- #epatch ${FILESDIR}/${PN}.CAN-2003-0985.patch || die "Failed to patch mremap() vulnerability!"
- #epatch ${FILESDIR}/${PN}-2.4.22.rtc_fix.patch || die "Failed to patch RTC vulnerabilities!"
+ 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
}
-src_compile() {
- true
-}
-
src_install() {
mkdir -p ${D}/usr/src/uml
@@ -53,7 +45,7 @@ src_install() {
chown -R root:root *
chmod -R a+r-w+X,u+w *
- mv linux-${PV} ${D}/usr/src/uml/
+ mv linux-${PV}${EXTRAVERSION} ${D}/usr/src/uml/
}
pkg_postinst() {
@@ -61,6 +53,6 @@ pkg_postinst() {
if [ ! -e ${ROOT}usr/src/uml/linux ]
then
rm -f ${ROOT}usr/src/uml/linux
- ln -sf ${ROOT}usr/src/uml/linux-${PV} ${ROOT}usr/src/uml/linux
+ ln -sf ${ROOT}usr/src/uml/linux-${PV}${EXTRAVERSION} ${ROOT}usr/src/uml/linux
fi
}
diff --git a/sys-kernel/usermode-sources/usermode-sources-2.6.3-r1.ebuild b/sys-kernel/usermode-sources/usermode-sources-2.6.3-r2.ebuild
index 89ac67df62fb..38a3eb4a9a91 100644
--- a/sys-kernel/usermode-sources/usermode-sources-2.6.3-r1.ebuild
+++ b/sys-kernel/usermode-sources/usermode-sources-2.6.3-r2.ebuild
@@ -1,6 +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/usermode-sources/usermode-sources-2.6.3-r1.ebuild,v 1.2 2004/04/12 16:36:23 aliz Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/usermode-sources/usermode-sources-2.6.3-r2.ebuild,v 1.1 2004/04/15 18:04:22 plasmaroo Exp $
K_NOUSENAME="yes"
ETYPE="sources"
@@ -8,12 +8,12 @@ ETYPE="sources"
inherit kernel-2
UML_PATCH="uml-patch-2.6.3-rc2-1"
OKV="${PV}"
-EXTRAVERSION="-${UML_PATCH//-*-/}"
+EXTRAVERSION="-${UML_PATCH//-*-/}-${PR}"
KV="${OKV}${EXTRAVERSION}"
S="${WORKDIR}/linux-${KV}"
IUSE=""
-UNIPATCH_LIST="${DISTDIR}/${UML_PATCH}.bz2"
+UNIPATCH_LIST="${DISTDIR}/${UML_PATCH}.bz2 ${FILESDIR}/${P}.CAN-2004-0109.patch"
DESCRIPTION="Full (vanilla) sources for the User Mode Linux kernel"
SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${PV}.tar.bz2