summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Yamin <plasmaroo@gentoo.org>2004-01-08 19:58:00 +0000
committerTim Yamin <plasmaroo@gentoo.org>2004-01-08 19:58:00 +0000
commit2348acd2d1c5642a3b950c58db6f9e88657aa7f3 (patch)
tree5a2e30af1f0895f0c206cbbc799c87c5ff1fba2e /sys-kernel/ppc-sources-crypto
parentVersion bumped, and fixed the headers. Added patches to address the security ... (diff)
downloadhistorical-2348acd2d1c5642a3b950c58db6f9e88657aa7f3.tar.gz
historical-2348acd2d1c5642a3b950c58db6f9e88657aa7f3.tar.bz2
historical-2348acd2d1c5642a3b950c58db6f9e88657aa7f3.zip
Version bumped, and fixed the headers. Added patches to address the security vulnerabilities in bugs #37292 and #37317 to 2.4.20-r2.
Diffstat (limited to 'sys-kernel/ppc-sources-crypto')
-rw-r--r--sys-kernel/ppc-sources-crypto/Manifest8
-rw-r--r--sys-kernel/ppc-sources-crypto/files/digest-ppc-sources-crypto-2.4.20-r21
-rw-r--r--sys-kernel/ppc-sources-crypto/files/ppc-sources-crypto.CAN-2003-0985.patch13
-rw-r--r--sys-kernel/ppc-sources-crypto/files/ppc-sources-crypto.rtc_fix.patch156
-rw-r--r--sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20-r1.ebuild4
-rw-r--r--sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20-r2.ebuild117
-rw-r--r--sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20.ebuild4
7 files changed, 295 insertions, 8 deletions
diff --git a/sys-kernel/ppc-sources-crypto/Manifest b/sys-kernel/ppc-sources-crypto/Manifest
index 1666c4b54ac4..0af38d43e5fe 100644
--- a/sys-kernel/ppc-sources-crypto/Manifest
+++ b/sys-kernel/ppc-sources-crypto/Manifest
@@ -1,8 +1,8 @@
-MD5 2e3a1a8e240fd293389c29dd2188e819 ppc-sources-crypto-2.4.20-r2.ebuild 3498
-MD5 a0984b7094cfae828de4c7684dfcd8cf ChangeLog 1387
+MD5 eb6acbb2d80b27877eced2ed5bd872ea ppc-sources-crypto-2.4.20-r2.ebuild 3501
+MD5 3bca4223a7c27ce4e76ffe22fe05fd5d ChangeLog 1390
MD5 043b3ab3fa1052b12838dfa30667cb19 metadata.xml 353
-MD5 e476893f69d97e071ed5de7d93e1259b ppc-sources-crypto-2.4.20.ebuild 3307
-MD5 62611183bfa397aad491129b04e30416 ppc-sources-crypto-2.4.20-r1.ebuild 3309
+MD5 5ecb008cbe2a89521d8f4a0b759140c5 ppc-sources-crypto-2.4.20.ebuild 3310
+MD5 0c2745919311147bcd4ccb44408db9fa ppc-sources-crypto-2.4.20-r1.ebuild 3312
MD5 e77a93fdf26f06cf3ea5080b27211725 files/ppc-sources-crypto.CAN-2003-0985.patch 414
MD5 a61e57d5483a06f20da339d91f98fbb8 files/ppc-sources-crypto.rtc_fix.patch 6769
MD5 02d35ae561da62158d02dd7264e7e5db files/digest-ppc-sources-crypto-2.4.20 78
diff --git a/sys-kernel/ppc-sources-crypto/files/digest-ppc-sources-crypto-2.4.20-r2 b/sys-kernel/ppc-sources-crypto/files/digest-ppc-sources-crypto-2.4.20-r2
new file mode 100644
index 000000000000..3089021840ea
--- /dev/null
+++ b/sys-kernel/ppc-sources-crypto/files/digest-ppc-sources-crypto-2.4.20-r2
@@ -0,0 +1 @@
+MD5 5c74ec29e69e4eb8b5b5229a26a7a9a5 linux-ppc-crypto-2.4.20.tar.bz2 27628151
diff --git a/sys-kernel/ppc-sources-crypto/files/ppc-sources-crypto.CAN-2003-0985.patch b/sys-kernel/ppc-sources-crypto/files/ppc-sources-crypto.CAN-2003-0985.patch
new file mode 100644
index 000000000000..dacf6ed810f9
--- /dev/null
+++ b/sys-kernel/ppc-sources-crypto/files/ppc-sources-crypto.CAN-2003-0985.patch
@@ -0,0 +1,13 @@
+--- linux/mm/mremap.c.orig 2004-01-05 17:01:21.382104120 +0000
++++ linux/mm/mremap.c 2004-01-05 17:15:25.689749848 +0000
+@@ -315,6 +315,10 @@
+ old_len = PAGE_ALIGN(old_len);
+ new_len = PAGE_ALIGN(new_len);
+
++ /* Don't allow the degenerate cases */
++ if (!old_len || !new_len)
++ goto out;
++
+ /* new_addr is only valid if MREMAP_FIXED is specified */
+ if (flags & MREMAP_FIXED) {
+ if (new_addr & ~PAGE_MASK)
diff --git a/sys-kernel/ppc-sources-crypto/files/ppc-sources-crypto.rtc_fix.patch b/sys-kernel/ppc-sources-crypto/files/ppc-sources-crypto.rtc_fix.patch
new file mode 100644
index 000000000000..10e9c228d6d2
--- /dev/null
+++ b/sys-kernel/ppc-sources-crypto/files/ppc-sources-crypto.rtc_fix.patch
@@ -0,0 +1,156 @@
+diff -ur linux-2.4.20-wolk4.9s/arch/cris/drivers/ds1302.c linux-2.4.20-wolk4.9s.plasmaroo/arch/cris/drivers/ds1302.c
+--- linux-2.4.20-wolk4.9s/arch/cris/drivers/ds1302.c 2004-01-05 23:33:45.000000000 +0000
++++ linux-2.4.20-wolk4.9s.plasmaroo/arch/cris/drivers/ds1302.c 2004-01-05 23:41:44.000000000 +0000
+@@ -315,6 +315,7 @@
+ {
+ struct rtc_time rtc_tm;
+
++ memset(&rtc_tm, 0, sizeof (struct rtc_time));
+ get_rtc_time(&rtc_tm);
+ if (copy_to_user((struct rtc_time*)arg, &rtc_tm, sizeof(struct rtc_time)))
+ return -EFAULT;
+diff -ur linux-2.4.20-wolk4.9s/arch/cris/drivers/pcf8563.c linux-2.4.20-wolk4.9s.plasmaroo/arch/cris/drivers/pcf8563.c
+--- linux-2.4.20-wolk4.9s/arch/cris/drivers/pcf8563.c 2004-01-05 23:33:45.000000000 +0000
++++ linux-2.4.20-wolk4.9s.plasmaroo/arch/cris/drivers/pcf8563.c 2004-01-05 23:42:22.000000000 +0000
+@@ -174,6 +174,7 @@
+ {
+ struct rtc_time tm;
+
++ memset(&tm, 0, sizeof (struct rtc_time));
+ get_rtc_time(&tm);
+
+ if (copy_to_user((struct rtc_time *) arg, &tm, sizeof(struct rtc_time))) {
+diff -ur linux-2.4.20-wolk4.9s/arch/m68k/bvme6000/rtc.c linux-2.4.20-wolk4.9s.plasmaroo/arch/m68k/bvme6000/rtc.c
+--- linux-2.4.20-wolk4.9s/arch/m68k/bvme6000/rtc.c 2004-01-05 23:33:45.000000000 +0000
++++ linux-2.4.20-wolk4.9s.plasmaroo/arch/m68k/bvme6000/rtc.c 2004-01-05 23:43:15.000000000 +0000
+@@ -54,6 +54,7 @@
+ /* Ensure clock and real-time-mode-register are accessible */
+ msr = rtc->msr & 0xc0;
+ rtc->msr = 0x40;
++ memset(&wtime, 0, sizeof (struct rtc_time));
+ do {
+ wtime.tm_sec = BCD2BIN(rtc->bcd_sec);
+ wtime.tm_min = BCD2BIN(rtc->bcd_min);
+diff -ur linux-2.4.20-wolk4.9s/arch/m68k/mvme16x/rtc.c linux-2.4.20-wolk4.9s.plasmaroo/arch/m68k/mvme16x/rtc.c
+--- linux-2.4.20-wolk4.9s/arch/m68k/mvme16x/rtc.c 2004-01-05 23:33:45.000000000 +0000
++++ linux-2.4.20-wolk4.9s.plasmaroo/arch/m68k/mvme16x/rtc.c 2004-01-05 23:44:02.000000000 +0000
+@@ -52,6 +52,7 @@
+ cli();
+ /* Ensure clock and real-time-mode-register are accessible */
+ rtc->ctrl = RTC_READ;
++ memset(&wtime, 0, sizeof (struct rtc_time));
+ wtime.tm_sec = BCD2BIN(rtc->bcd_sec);
+ wtime.tm_min = BCD2BIN(rtc->bcd_min);
+ wtime.tm_hour = BCD2BIN(rtc->bcd_hr);
+diff -ur linux-2.4.20-wolk4.9s/arch/mips/sgi-ip27/ip27-rtc.c linux-2.4.20-wolk4.9s.plasmaroo/arch/mips/sgi-ip27/ip27-rtc.c
+--- linux-2.4.20-wolk4.9s/arch/mips/sgi-ip27/ip27-rtc.c 2004-01-05 23:33:45.000000000 +0000
++++ linux-2.4.20-wolk4.9s.plasmaroo/arch/mips/sgi-ip27/ip27-rtc.c 2004-01-05 23:48:34.000000000 +0000
+@@ -84,6 +84,7 @@
+ switch (cmd) {
+ case RTC_RD_TIME: /* Read the time/date from RTC */
+ {
++ memset(&wtime, 0, sizeof(struct rtc_time));
+ get_rtc_time(&wtime);
+ break;
+ }
+diff -ur linux-2.4.20-wolk4.9s/arch/ppc64/kernel/rtc.c linux-2.4.20-wolk4.9s.plasmaroo/arch/ppc64/kernel/rtc.c
+--- linux-2.4.20-wolk4.9s/arch/ppc64/kernel/rtc.c 2004-01-05 23:33:45.000000000 +0000
++++ linux-2.4.20-wolk4.9s.plasmaroo/arch/ppc64/kernel/rtc.c 2004-01-05 23:44:34.000000000 +0000
+@@ -96,6 +96,7 @@
+ switch (cmd) {
+ case RTC_RD_TIME: /* Read the time/date from RTC */
+ {
++ memset(&wtime, 0, sizeof(struct rtc_time));
+ ppc_md.get_rtc_time(&wtime);
+ break;
+ }
+diff -ur linux-2.4.20-wolk4.9s/drivers/char/efirtc.c linux-2.4.20-wolk4.9s.plasmaroo/drivers/char/efirtc.c
+--- linux-2.4.20-wolk4.9s/drivers/char/efirtc.c 2004-01-05 23:33:45.000000000 +0000
++++ linux-2.4.20-wolk4.9s.plasmaroo/drivers/char/efirtc.c 2004-01-05 23:47:53.000000000 +0000
+@@ -118,6 +118,7 @@
+ static void
+ convert_from_efi_time(efi_time_t *eft, struct rtc_time *wtime)
+ {
++ memset(wtime, 0, sizeof(struct rtc_time));
+ wtime->tm_sec = eft->second;
+ wtime->tm_min = eft->minute;
+ wtime->tm_hour = eft->hour;
+diff -ur linux-2.4.20-wolk4.9s/drivers/char/rtc.c linux-2.4.20-wolk4.9s.plasmaroo/drivers/char/rtc.c
+--- linux-2.4.20-wolk4.9s/drivers/char/rtc.c 2004-01-05 23:33:45.000000000 +0000
++++ linux-2.4.20-wolk4.9s.plasmaroo/drivers/char/rtc.c 2004-01-05 23:52:43.000000000 +0000
+@@ -370,6 +370,7 @@
+ * tm_min, and tm_sec values are filled in.
+ */
+
++ memset(&wtime, 0, sizeof(struct rtc_time));
+ get_rtc_alm_time(&wtime);
+ break;
+ }
+@@ -417,6 +418,7 @@
+ }
+ case RTC_RD_TIME: /* Read the time/date from RTC */
+ {
++ memset(&wtime, 0, sizeof(struct rtc_time));
+ get_rtc_time(&wtime);
+ break;
+ }
+diff -ur linux-2.4.20-wolk4.9s/drivers/hil/hp_sdc_rtc.c linux-2.4.20-wolk4.9s.plasmaroo/drivers/hil/hp_sdc_rtc.c
+--- linux-2.4.20-wolk4.9s/drivers/hil/hp_sdc_rtc.c 2004-01-05 23:33:45.000000000 +0000
++++ linux-2.4.20-wolk4.9s.plasmaroo/drivers/hil/hp_sdc_rtc.c 2004-01-05 23:53:36.000000000 +0000
+@@ -561,6 +561,7 @@
+ }
+ case RTC_ALM_READ: /* Read the present alarm time */
+ {
++ memset(&ttime, 0, sizeof(struct timeval));
+ if (hp_sdc_rtc_read_mt(&ttime)) return -EFAULT;
+ break;
+ }
+@@ -609,6 +610,7 @@
+ }
+ case RTC_RD_TIME: /* Read the time/date from RTC */
+ {
++ memset(&wtime, 0, sizeof(struct rtc_time));
+ if (hp_sdc_rtc_read_bbrtc(&wtime)) return -EFAULT;
+ break;
+ }
+diff -ur linux-2.4.20-wolk4.9s/drivers/macintosh/rtc.c linux-2.4.20-wolk4.9s.plasmaroo/drivers/macintosh/rtc.c
+--- linux-2.4.20-wolk4.9s/drivers/macintosh/rtc.c 2004-01-05 23:33:45.000000000 +0000
++++ linux-2.4.20-wolk4.9s.plasmaroo/drivers/macintosh/rtc.c 2004-01-05 23:54:15.000000000 +0000
+@@ -64,6 +64,7 @@
+ case RTC_RD_TIME:
+ if (ppc_md.get_rtc_time)
+ {
++ memset(&rtc_tm, 0, sizeof(struct rtc_time));
+ get_rtc_time(&rtc_tm);
+
+ if (copy_to_user((struct rtc_time*)arg, &rtc_tm, sizeof(struct rtc_time)))
+diff -ur linux-2.4.20-wolk4.9s/drivers/sbus/char/rtc.c linux-2.4.20-wolk4.9s.plasmaroo/drivers/sbus/char/rtc.c
+--- linux-2.4.20-wolk4.9s/drivers/sbus/char/rtc.c 2004-01-05 23:33:45.000000000 +0000
++++ linux-2.4.20-wolk4.9s.plasmaroo/drivers/sbus/char/rtc.c 2004-01-05 23:54:43.000000000 +0000
+@@ -89,6 +89,7 @@
+ switch (cmd)
+ {
+ case RTCGET:
++ memset(&rtc_tm, 0, sizeof(struct rtc_time));
+ get_rtc_time(&rtc_tm);
+
+ if (copy_to_user((struct rtc_time*)arg, &rtc_tm, sizeof(struct rtc_time)))
+diff -ur linux-2.4.20-wolk4.9s/drivers/sgi/char/ds1286.c linux-2.4.20-wolk4.9s.plasmaroo/drivers/sgi/char/ds1286.c
+--- linux-2.4.20-wolk4.9s/drivers/sgi/char/ds1286.c 2004-01-05 23:33:45.000000000 +0000
++++ linux-2.4.20-wolk4.9s.plasmaroo/drivers/sgi/char/ds1286.c 2004-01-05 23:47:25.000000000 +0000
+@@ -174,6 +174,7 @@
+ * tm_min, and tm_sec values are filled in.
+ */
+
++ memset(&wtime, 0, sizeof(struct rtc_time));
+ ds1286_get_alm_time(&wtime);
+ break;
+ }
+@@ -216,6 +217,7 @@
+ }
+ case RTC_RD_TIME: /* Read the time/date from RTC */
+ {
++ memset(&wtime, 0, sizeof(struct rtc_time));
+ ds1286_get_time(&wtime);
+ break;
+ }
diff --git a/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20-r1.ebuild b/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20-r1.ebuild
index 8cfefb4f6a63..93a911656246 100644
--- a/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20-r1.ebuild
+++ b/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20-r1.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2003 Gentoo Technologies, Inc.
+# 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-crypto/ppc-sources-crypto-2.4.20-r1.ebuild,v 1.2 2003/12/14 23:43:09 spider Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20-r1.ebuild,v 1.3 2004/01/08 19:57:47 plasmaroo Exp $
IUSE="build crypt"
diff --git a/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20-r2.ebuild b/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20-r2.ebuild
new file mode 100644
index 000000000000..20b513a9f9e6
--- /dev/null
+++ b/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20-r2.ebuild
@@ -0,0 +1,117 @@
+# 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-crypto/ppc-sources-crypto-2.4.20-r2.ebuild,v 1.1 2004/01/08 19:57:47 plasmaroo Exp $
+
+IUSE="build crypt"
+
+# OKV=original kernel version, KV=patched kernel version. They can be the same.
+OKV=2.4.20
+KV=2.4.20
+S=${WORKDIR}/linux-ppc-crypto-${KV}
+
+# 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
+
+DESCRIPTION="Full cryptoapi enabled sources for the Gentoo Linux PPC kernel"
+SRC_URI="http://perso.wanadoo.fr/olivier.reisch/linux-ppc-crypto/linux-ppc-crypto-${OKV}.tar.bz2"
+KEYWORDS="-x86 ppc -sparc -alpha"
+PROVIDE="virtual/linux-sources"
+HOMEPAGE="http://www.kernel.org/ http://www.kerneli.org/ http://www.gentoo.org/"
+LICENSE="GPL-2"
+SLOT="${KV}"
+
+if [ $ETYPE = "sources" ] && [ -z "`use build`" ]
+then
+ #console-tools is needed to solve the loadkeys fiasco; binutils version needed to avoid Athlon/PIII/SSE assembler bugs.
+ DEPEND=">=sys-devel/binutils-2.11.90.0.31"
+ RDEPEND=">=sys-libs/ncurses-5.2 dev-lang/perl
+ virtual/modutils sys-devel/make"
+fi
+
+
+src_unpack() {
+
+ cd ${WORKDIR}
+ unpack linux-ppc-crypto-${OKV}.tar.bz2
+ cd ${S}
+ pwd
+
+ epatch ${FILESDIR}/do_brk_fix.patch || die "Failed to patch do_brk() vulnerability!"
+ epatch ${FILESDIR}/${PN}.CAN-2003-0985.patch || die "Failed to patch mremap() vulnerability!"
+ epatch ${FILESDIR}/${PN}.rtc_fix.patch || die "Failed to patch RTC vulnerabilities!"
+
+ #sometimes we have icky kernel symbols; this seems to get rid of them
+ make mrproper || die
+
+ #this file is required for other things to build properly, so we autogenerate it
+ make include/linux/version.h || die
+
+ #fix silly permissions in tarball
+ cd ${WORKDIR}
+ chown -R 0:0 *
+ chmod -R a+r-w+X,u+w *
+
+ # Gentoo Linux uses /boot, so fix 'make install' to work properly
+ cd ${S}
+ mv Makefile Makefile.orig
+ sed -e 's:#export\tINSTALL_PATH:export\tINSTALL_PATH:' \
+ Makefile.orig >Makefile || die # test, remove me if Makefile ok
+ rm Makefile.orig
+
+}
+
+src_compile() {
+ if [ "$ETYPE" = "headers" ]
+ then
+ yes "" | make oldconfig
+ echo "Ignore any errors from the yes command above."
+ fi
+}
+
+src_install() {
+ if [ "$ETYPE" = "sources" ]
+ then
+ dodir /usr/src
+ cd ${S}
+ echo ">>> Copying sources..."
+ mv ${WORKDIR}/* ${D}/usr/src
+ else
+ #linux-headers
+ yes "" | make oldconfig
+ echo "Ignore any errors from the yes command above."
+ make dep
+ dodir /usr/include/linux
+ cp -ax ${S}/include/linux/* ${D}/usr/include/linux
+ dodir /usr/include/asm
+ cp -ax ${S}/include/asm-ppc/* ${D}/usr/include/asm
+ fi
+}
+
+pkg_preinst() {
+ if [ "$ETYPE" = "headers" ]
+ then
+ [ -L ${ROOT}usr/include/linux ] && rm ${ROOT}usr/include/linux
+ [ -L ${ROOT}usr/include/asm ] && rm ${ROOT}usr/include/asm
+ true
+ fi
+}
+
+pkg_postinst() {
+ [ "$ETYPE" = "headers" ] && return
+ if [ ! -e ${ROOT}usr/src/linux ]
+ then
+ rm -f ${ROOT}usr/src/linux
+ ln -sf linux-ppc-crypto-${KV} ${ROOT}/usr/src/linux
+ fi
+ [ `use xfs` ] && ewarn "XFS is no longer included!"
+}
diff --git a/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20.ebuild b/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20.ebuild
index 47e3bdf0a617..3b8509f4b66d 100644
--- a/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20.ebuild
+++ b/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2003 Gentoo Technologies, Inc.
+# 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-crypto/ppc-sources-crypto-2.4.20.ebuild,v 1.10 2003/12/14 23:43:09 spider Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ppc-sources-crypto/ppc-sources-crypto-2.4.20.ebuild,v 1.11 2004/01/08 19:57:47 plasmaroo Exp $
IUSE="build crypt"