summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/alpha-sources')
-rw-r--r--sys-kernel/alpha-sources/ChangeLog10
-rw-r--r--sys-kernel/alpha-sources/Manifest16
-rw-r--r--sys-kernel/alpha-sources/alpha-sources-2.4.19-r1.ebuild8
-rw-r--r--sys-kernel/alpha-sources/alpha-sources-2.4.19-r2.ebuild8
-rw-r--r--sys-kernel/alpha-sources/alpha-sources-2.4.20-r1.ebuild8
-rw-r--r--sys-kernel/alpha-sources/alpha-sources-2.4.20-r2.ebuild8
-rw-r--r--sys-kernel/alpha-sources/alpha-sources-2.4.21-r1.ebuild9
-rw-r--r--sys-kernel/alpha-sources/alpha-sources-2.4.21-r2.ebuild9
-rw-r--r--sys-kernel/alpha-sources/files/alpha-sources.CAN-2003-0985.patch13
-rw-r--r--sys-kernel/alpha-sources/files/alpha-sources.rtc_fix.patch156
10 files changed, 219 insertions, 26 deletions
diff --git a/sys-kernel/alpha-sources/ChangeLog b/sys-kernel/alpha-sources/ChangeLog
index 92aa46861c92..83e61580c403 100644
--- a/sys-kernel/alpha-sources/ChangeLog
+++ b/sys-kernel/alpha-sources/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-kernel/alpha-sources
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/alpha-sources/ChangeLog,v 1.16 2003/12/10 22:09:54 plasmaroo Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/alpha-sources/ChangeLog,v 1.17 2004/01/06 16:16:49 plasmaroo Exp $
+
+ 06 Jan 2004; <plasmaroo@gentoo.org> alpha-sources-2.4.19-r1.ebuild,
+ alpha-sources-2.4.19-r2.ebuild, alpha-sources-2.4.20-r1.ebuild,
+ alpha-sources-2.4.20-r2.ebuild, alpha-sources-2.4.21-r1.ebuild,
+ alpha-sources-2.4.21-r2.ebuild, files/alpha-sources.CAN-2003-0985.patch,
+ files/alpha-sources.rtc_fix.patch:
+ Added patches to address the security vulnerabilities in bugs #37292 and
+ #37317.
09 Dec 2003; <spider@gentoo.org> alpha-sources-2.4.19-r1.ebuild,
alpha-sources-2.4.19-r2.ebuild, alpha-sources-2.4.20-r1.ebuild,
diff --git a/sys-kernel/alpha-sources/Manifest b/sys-kernel/alpha-sources/Manifest
index 72faa43772cb..447f2c5252ae 100644
--- a/sys-kernel/alpha-sources/Manifest
+++ b/sys-kernel/alpha-sources/Manifest
@@ -1,14 +1,16 @@
-MD5 16bd84509ca257608ae7daef92685472 ChangeLog 2295
-MD5 521b149869556eed316bdf36b965c777 alpha-sources-2.4.20-r1.ebuild 3178
-MD5 cb979118d6f6f207e776c075fdc27721 alpha-sources-2.4.19-r1.ebuild 3193
-MD5 47ef3ec84a0c3911d5ead30bb7657212 alpha-sources-2.4.21-r2.ebuild 1844
-MD5 3fd8d4e422ce3d7008f2eb423c8ae8e0 alpha-sources-2.4.21-r1.ebuild 1840
-MD5 33bfab6a4c7cefaf9ab57ff69d678181 alpha-sources-2.4.19-r2.ebuild 3218
-MD5 05dc63a99167274c2b08276bd6dca610 alpha-sources-2.4.20-r2.ebuild 3057
+MD5 4bc52d11ac9672ea44794e34ee5912da ChangeLog 2695
+MD5 ea7d2294cccc9460836d336879f804c1 alpha-sources-2.4.20-r1.ebuild 3374
+MD5 cefce1045f8e56304cb65906fe7ef841 alpha-sources-2.4.19-r1.ebuild 3389
+MD5 8982b442d584bf387714d8aa3673edc1 alpha-sources-2.4.21-r2.ebuild 2039
+MD5 58faf9e0e7e449ae715a86c3c4b1e675 alpha-sources-2.4.21-r1.ebuild 2040
+MD5 338ed4b4fb9e039bb8298311766942c3 alpha-sources-2.4.19-r2.ebuild 3414
+MD5 303dc442671ad54b72cba9a280210609 alpha-sources-2.4.20-r2.ebuild 3253
MD5 16670f1bb65727ad1fe9fe73fc73e5be files/digest-alpha-sources-2.4.19-r1 149
MD5 5b44fd1e2632e313a3774ce690891a94 files/digest-alpha-sources-2.4.21-r1 144
MD5 ef1326d11a9e944b46ded8ed8cd13556 files/digest-alpha-sources-2.4.19-r2 150
MD5 d9fdbd53c213583e18020e159a338371 files/digest-alpha-sources-2.4.21-r2 144
+MD5 a61e57d5483a06f20da339d91f98fbb8 files/alpha-sources.rtc_fix.patch 6769
MD5 b8ec46a23797770246c82ec38b1168b0 files/digest-alpha-sources-2.4.20-r2 149
MD5 460dfb4e575d23adc1229940ebcac3b8 files/digest-alpha-sources-2.4.20-r1 150
+MD5 d641cd49ae63ca2989672d2209691bb5 files/alpha-sources.CAN-2003-0985.patch 414
MD5 e637c6fa41097ea2c4693d0766f2e1c5 files/do_brk_fix.patch 242
diff --git a/sys-kernel/alpha-sources/alpha-sources-2.4.19-r1.ebuild b/sys-kernel/alpha-sources/alpha-sources-2.4.19-r1.ebuild
index a43d7a46b8cd..d25486afadba 100644
--- a/sys-kernel/alpha-sources/alpha-sources-2.4.19-r1.ebuild
+++ b/sys-kernel/alpha-sources/alpha-sources-2.4.19-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/alpha-sources/alpha-sources-2.4.19-r1.ebuild,v 1.12 2003/12/08 23:15:36 spider Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/alpha-sources/alpha-sources-2.4.19-r1.ebuild,v 1.13 2004/01/06 16:16:49 plasmaroo Exp $
#OKV=original kernel version, KV=patched kernel version. They can be the same.
@@ -47,7 +47,9 @@ src_unpack() {
pwd
bzcat ${GENTOOPATCH} | patch -p1 || die # Patch the kernel
- epatch ${FILESDIR}/do_brk_fix.patch || die "failed to patch for do_brk vuln"
+ epatch ${FILESDIR}/do_brk_fix.patch || die "Failed to patch the 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
diff --git a/sys-kernel/alpha-sources/alpha-sources-2.4.19-r2.ebuild b/sys-kernel/alpha-sources/alpha-sources-2.4.19-r2.ebuild
index c2160a618ed6..dbb56a29de15 100644
--- a/sys-kernel/alpha-sources/alpha-sources-2.4.19-r2.ebuild
+++ b/sys-kernel/alpha-sources/alpha-sources-2.4.19-r2.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/alpha-sources/alpha-sources-2.4.19-r2.ebuild,v 1.12 2003/12/08 23:15:36 spider Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/alpha-sources/alpha-sources-2.4.19-r2.ebuild,v 1.13 2004/01/06 16:16:49 plasmaroo Exp $
#OKV=original kernel version, KV=patched kernel version. They can be the same.
@@ -48,7 +48,9 @@ src_unpack() {
pwd
bzcat ${GENTOOPATCH} | patch -p1 || die # Patch the kernel
- epatch ${FILESDIR}/do_brk_fix.patch || die "failed to patch for do_brk vuln"
+ epatch ${FILESDIR}/do_brk_fix.patch || die "Failed to patch the 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
diff --git a/sys-kernel/alpha-sources/alpha-sources-2.4.20-r1.ebuild b/sys-kernel/alpha-sources/alpha-sources-2.4.20-r1.ebuild
index 12fd72e1a3bd..313f869d81f1 100644
--- a/sys-kernel/alpha-sources/alpha-sources-2.4.20-r1.ebuild
+++ b/sys-kernel/alpha-sources/alpha-sources-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/alpha-sources/alpha-sources-2.4.20-r1.ebuild,v 1.10 2003/12/08 23:15:36 spider Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/alpha-sources/alpha-sources-2.4.20-r1.ebuild,v 1.11 2004/01/06 16:16:49 plasmaroo Exp $
#OKV=original kernel version, KV=patched kernel version. They can be the same.
@@ -48,7 +48,9 @@ src_unpack() {
pwd
bzcat ${GENTOOPATCH} | patch -p1 || die # Patch the kernel
- epatch ${FILESDIR}/do_brk_fix.patch || die "failed to patch for do_brk vuln"
+ epatch ${FILESDIR}/do_brk_fix.patch || die "Failed to patch the 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
diff --git a/sys-kernel/alpha-sources/alpha-sources-2.4.20-r2.ebuild b/sys-kernel/alpha-sources/alpha-sources-2.4.20-r2.ebuild
index 90b92b4d9c5a..2ff7d87e2c9e 100644
--- a/sys-kernel/alpha-sources/alpha-sources-2.4.20-r2.ebuild
+++ b/sys-kernel/alpha-sources/alpha-sources-2.4.20-r2.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/alpha-sources/alpha-sources-2.4.20-r2.ebuild,v 1.10 2003/12/08 23:15:36 spider Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/alpha-sources/alpha-sources-2.4.20-r2.ebuild,v 1.11 2004/01/06 16:16:49 plasmaroo Exp $
#OKV=original kernel version, KV=patched kernel version. They can be the same.
@@ -39,7 +39,9 @@ src_unpack() {
pwd
bzcat ${GENTOOPATCH} | patch -p1 || die # Patch the kernel
- epatch ${FILESDIR}/do_brk_fix.patch || die "failed to patch for do_brk vuln"
+ epatch ${FILESDIR}/do_brk_fix.patch || die "Failed to patch the 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
diff --git a/sys-kernel/alpha-sources/alpha-sources-2.4.21-r1.ebuild b/sys-kernel/alpha-sources/alpha-sources-2.4.21-r1.ebuild
index 52f94fd6a18b..a74047393ba7 100644
--- a/sys-kernel/alpha-sources/alpha-sources-2.4.21-r1.ebuild
+++ b/sys-kernel/alpha-sources/alpha-sources-2.4.21-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/alpha-sources/alpha-sources-2.4.21-r1.ebuild,v 1.9 2003/12/04 19:39:35 iggy Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/alpha-sources/alpha-sources-2.4.21-r1.ebuild,v 1.10 2004/01/06 16:16:49 plasmaroo Exp $
#OKV=original kernel version, KV=patched kernel version. They can be the same.
@@ -55,5 +55,8 @@ src_unpack() {
kernel_src_unpack
cd ${S}
- epatch ${FILESDIR}/do_brk_fix.patch || die "failed to patch for do_brk vuln"
+ epatch ${FILESDIR}/do_brk_fix.patch || die "Failed to patch the 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!"
+
}
diff --git a/sys-kernel/alpha-sources/alpha-sources-2.4.21-r2.ebuild b/sys-kernel/alpha-sources/alpha-sources-2.4.21-r2.ebuild
index 5b224fa57d58..6748c9ac477e 100644
--- a/sys-kernel/alpha-sources/alpha-sources-2.4.21-r2.ebuild
+++ b/sys-kernel/alpha-sources/alpha-sources-2.4.21-r2.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/alpha-sources/alpha-sources-2.4.21-r2.ebuild,v 1.1 2003/12/10 20:31:25 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/alpha-sources/alpha-sources-2.4.21-r2.ebuild,v 1.2 2004/01/06 16:16:49 plasmaroo Exp $
#OKV=original kernel version, KV=patched kernel version. They can be the same.
@@ -55,5 +55,8 @@ src_unpack() {
kernel_src_unpack
cd ${S}
- epatch ${FILESDIR}/do_brk_fix.patch || die "failed to patch for do_brk vuln"
+ epatch ${FILESDIR}/do_brk_fix.patch || die "Failed to patch the 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!"
+
}
diff --git a/sys-kernel/alpha-sources/files/alpha-sources.CAN-2003-0985.patch b/sys-kernel/alpha-sources/files/alpha-sources.CAN-2003-0985.patch
new file mode 100644
index 000000000000..bacef69f02f8
--- /dev/null
+++ b/sys-kernel/alpha-sources/files/alpha-sources.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/alpha-sources/files/alpha-sources.rtc_fix.patch b/sys-kernel/alpha-sources/files/alpha-sources.rtc_fix.patch
new file mode 100644
index 000000000000..10e9c228d6d2
--- /dev/null
+++ b/sys-kernel/alpha-sources/files/alpha-sources.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;
+ }