diff options
author | Tim Yamin <plasmaroo@gentoo.org> | 2004-01-06 18:57:54 +0000 |
---|---|---|
committer | Tim Yamin <plasmaroo@gentoo.org> | 2004-01-06 18:57:54 +0000 |
commit | 45cf956ee8233c33fbade1e98d797b43b38f3c33 (patch) | |
tree | b87b3f231c65ad9b9622a809b9c1c8d3d3e3f1ed /sys-kernel | |
parent | Added patches to address the new security vulnerabilities; see bugs #37292 an... (diff) | |
download | gentoo-2-45cf956ee8233c33fbade1e98d797b43b38f3c33.tar.gz gentoo-2-45cf956ee8233c33fbade1e98d797b43b38f3c33.tar.bz2 gentoo-2-45cf956ee8233c33fbade1e98d797b43b38f3c33.zip |
Added patches to address the new security vulnerabilities; see bugs #37292 and #37317 for details.
Diffstat (limited to 'sys-kernel')
8 files changed, 189 insertions, 9 deletions
diff --git a/sys-kernel/gaming-sources/ChangeLog b/sys-kernel/gaming-sources/ChangeLog index dc78cbef8109..03536ccb462b 100644 --- a/sys-kernel/gaming-sources/ChangeLog +++ b/sys-kernel/gaming-sources/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sys-kernel/gaming-sources # Copyright 2000-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gaming-sources/ChangeLog,v 1.12 2003/12/04 22:45:21 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gaming-sources/ChangeLog,v 1.13 2004/01/06 18:57:32 plasmaroo Exp $ + +*gaming-sources-2.4.20-r7 (06 Jan 2004) + + 06 Jan 2004; <plasmaroo@gentoo.org> gaming-sources-2.4.20-r7.ebuild, + files/gaming-sources-2.4.20.CAN-2003-0985.patch, + files/gaming-sources-2.4.20.rtc_fix.patch: + Added patches to address the security vulnerabilities in bugs #37292 and + #37317. 01 Dec 2003; Brian Jackson <iggy@gentoo.org> gaming-sources-2.4.20-r1.ebuild, gaming-sources-2.4.20-r2.ebuild, diff --git a/sys-kernel/gaming-sources/Manifest b/sys-kernel/gaming-sources/Manifest index 7565f8b4e451..a09f32659207 100644 --- a/sys-kernel/gaming-sources/Manifest +++ b/sys-kernel/gaming-sources/Manifest @@ -1,8 +1,8 @@ -MD5 d3fbe8319efb75cc52d5de6a7483f4ef ChangeLog 2506 +MD5 d7989106981ab490f144891079a50d38 ChangeLog 2506 MD5 608fe99985244b0445f76cee44c9ae14 metadata.xml 290 -MD5 567042234b0f4b9d77ebc8649d04c017 gaming-sources-2.4.20-r5.ebuild 1185 -MD5 fed8905725a077592bdfa9521e34b424 gaming-sources-2.4.20-r7.ebuild 1381 -MD5 418671b96fcb8e50a4d48e3d0470ec0c gaming-sources-2.4.20-r6.ebuild 1194 +MD5 fb5ac94fef96e0f93d9146c652f4de00 gaming-sources-2.4.20-r5.ebuild 1190 +MD5 040a9fb117966c88905495b5f983aa7a gaming-sources-2.4.20-r7.ebuild 1386 +MD5 1078367afdbdc0884870b02e81495efe gaming-sources-2.4.20-r6.ebuild 1199 MD5 d641cd49ae63ca2989672d2209691bb5 files/gaming-sources-2.4.20.CAN-2003-0985.patch 414 MD5 df40eece807d039cba79f477e80ebda2 files/gaming-sources-2.4.20.rtc_fix.patch 4974 MD5 3a84a13cd1ae6324e4f754c05a77cb34 files/gaming-sources-2.4.20-gcc33.patch 12143 diff --git a/sys-kernel/gaming-sources/files/digest-gaming-sources-2.4.20-r7 b/sys-kernel/gaming-sources/files/digest-gaming-sources-2.4.20-r7 new file mode 100644 index 000000000000..f579357cc013 --- /dev/null +++ b/sys-kernel/gaming-sources/files/digest-gaming-sources-2.4.20-r7 @@ -0,0 +1,3 @@ +MD5 c439d5c93d7fc9a1480a90842465bb97 linux-2.4.20.tar.bz2 27421046 +MD5 b8d7ca0e2c2df2642e919b03e266cdeb patches-2.4.20-gaming-r5.tar.bz2 381905 +MD5 711f2443fb471404077403bfe3253f9b ck4_2.4.20.patch.bz2 1429780 diff --git a/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2003-0985.patch b/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2003-0985.patch new file mode 100644 index 000000000000..bacef69f02f8 --- /dev/null +++ b/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.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/gaming-sources/files/gaming-sources-2.4.20.rtc_fix.patch b/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.rtc_fix.patch new file mode 100644 index 000000000000..00937f83623f --- /dev/null +++ b/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.rtc_fix.patch @@ -0,0 +1,115 @@ +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/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/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/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/gaming-sources/gaming-sources-2.4.20-r5.ebuild b/sys-kernel/gaming-sources/gaming-sources-2.4.20-r5.ebuild index 6f9568516443..b98852706cf7 100644 --- a/sys-kernel/gaming-sources/gaming-sources-2.4.20-r5.ebuild +++ b/sys-kernel/gaming-sources/gaming-sources-2.4.20-r5.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/gaming-sources/gaming-sources-2.4.20-r5.ebuild,v 1.8 2003/12/01 22:40:53 iggy Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gaming-sources/gaming-sources-2.4.20-r5.ebuild,v 1.9 2004/01/06 18:57:32 plasmaroo Exp $ IUSE="build" diff --git a/sys-kernel/gaming-sources/gaming-sources-2.4.20-r6.ebuild b/sys-kernel/gaming-sources/gaming-sources-2.4.20-r6.ebuild index 38fe69fe084d..2e072a422edf 100644 --- a/sys-kernel/gaming-sources/gaming-sources-2.4.20-r6.ebuild +++ b/sys-kernel/gaming-sources/gaming-sources-2.4.20-r6.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/gaming-sources/gaming-sources-2.4.20-r6.ebuild,v 1.2 2003/12/01 22:40:53 iggy Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gaming-sources/gaming-sources-2.4.20-r6.ebuild,v 1.3 2004/01/06 18:57:32 plasmaroo Exp $ IUSE="build" diff --git a/sys-kernel/gaming-sources/gaming-sources-2.4.20-r7.ebuild b/sys-kernel/gaming-sources/gaming-sources-2.4.20-r7.ebuild new file mode 100644 index 000000000000..b410f792ffd1 --- /dev/null +++ b/sys-kernel/gaming-sources/gaming-sources-2.4.20-r7.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gaming-sources/gaming-sources-2.4.20-r7.ebuild,v 1.1 2004/01/06 18:57:32 plasmaroo Exp $ + +IUSE="build" + +# OKV=original kernel version, KV=patched kernel version. + +ETYPE="sources" + +inherit kernel + +OKV="2.4.20" +EXTRAVERSION="-gaming-r7" +KV="${OKV}${EXTRAVERSION}" +S=${WORKDIR}/linux-${KV} +CKV=4_2.4.20 + +DESCRIPTION="Full sources for the Gentoo gaming-optimized kernel" +HOMEPAGE="http://members.optusnet.com.au/ckolivas/kernel/" +SRC_URI="http://www.kernel.org/pub/linux/kernel/v2.4/linux-${OKV}.tar.bz2 mirror://gentoo/patches-${KV/7/5}.tar.bz2 http://members.optusnet.com.au/ckolivas/kernel/ck${CKV}.patch.bz2" + +KEYWORDS="-* ~x86" +SLOT="${KV}" + +src_unpack() { + + unpack linux-${OKV}.tar.bz2 patches-${KV/7/5}.tar.bz2 + bzcat ${DISTDIR}/ck${CKV}.patch.bz2 | patch -p0 || die "-patch failed" + + mv linux-${OKV} linux-${KV} || die + + cd ${KV/7/5} || die #enter the patch directory and go! + kernel_src_unpack + + epatch ${FILESDIR}/gaming-sources-2.4.20-gcc33.patch + epatch ${FILESDIR}/do_brk_fix.patch || die "Failed to patch do_brk() vulnerability!" + epatch ${FILESDIR}/${P}.CAN-2003-0985.patch || die "Failed to patch mremap() vulnerability!" + epatch ${FILESDIR}/${P}.rtc_fix.patch || die "Failed to patch RTC vulnerabilities!" + +} |