1 diff -urN linux-2.4.23/arch/cris/drivers/ds1302.c linux-2.4.24/arch/cris/drivers/ds1302.c
2 --- linux-2.4.23/arch/cris/drivers/ds1302.c 2003-08-25 04:44:39.000000000 -0700
3 +++ linux-2.4.24/arch/cris/drivers/ds1302.c 2004-01-05 05:53:56.000000000 -0800
6 struct rtc_time rtc_tm;
8 + memset(&rtc_tm, 0, sizeof (struct rtc_time));
10 if (copy_to_user((struct rtc_time*)arg, &rtc_tm, sizeof(struct rtc_time)))
12 diff -urN linux-2.4.23/arch/cris/drivers/pcf8563.c linux-2.4.24/arch/cris/drivers/pcf8563.c
13 --- linux-2.4.23/arch/cris/drivers/pcf8563.c 2003-08-25 04:44:39.000000000 -0700
14 +++ linux-2.4.24/arch/cris/drivers/pcf8563.c 2004-01-05 05:53:56.000000000 -0800
19 + memset(&tm, 0, sizeof (struct rtc_time));
22 if (copy_to_user((struct rtc_time *) arg, &tm, sizeof tm)) {
23 diff -urN linux-2.4.23/arch/m68k/bvme6000/rtc.c linux-2.4.24/arch/m68k/bvme6000/rtc.c
24 --- linux-2.4.23/arch/m68k/bvme6000/rtc.c 2003-06-13 07:51:31.000000000 -0700
25 +++ linux-2.4.24/arch/m68k/bvme6000/rtc.c 2004-01-05 05:53:56.000000000 -0800
27 /* Ensure clock and real-time-mode-register are accessible */
28 msr = rtc->msr & 0xc0;
30 + memset(&wtime, 0, sizeof(struct rtc_time));
32 wtime.tm_sec = BCD2BIN(rtc->bcd_sec);
33 wtime.tm_min = BCD2BIN(rtc->bcd_min);
34 diff -urN linux-2.4.23/arch/m68k/mvme16x/rtc.c linux-2.4.24/arch/m68k/mvme16x/rtc.c
35 --- linux-2.4.23/arch/m68k/mvme16x/rtc.c 2003-06-13 07:51:31.000000000 -0700
36 +++ linux-2.4.24/arch/m68k/mvme16x/rtc.c 2004-01-05 05:53:56.000000000 -0800
39 /* Ensure clock and real-time-mode-register are accessible */
41 + memset(&wtime, 0, sizeof(struct rtc_time));
42 wtime.tm_sec = BCD2BIN(rtc->bcd_sec);
43 wtime.tm_min = BCD2BIN(rtc->bcd_min);
44 wtime.tm_hour = BCD2BIN(rtc->bcd_hr);
45 diff -urN linux-2.4.23/arch/ppc64/kernel/rtc.c linux-2.4.24/arch/ppc64/kernel/rtc.c
46 --- linux-2.4.23/arch/ppc64/kernel/rtc.c 2003-06-13 07:51:32.000000000 -0700
47 +++ linux-2.4.24/arch/ppc64/kernel/rtc.c 2004-01-05 05:53:56.000000000 -0800
50 case RTC_RD_TIME: /* Read the time/date from RTC */
52 + memset(&wtime, 0, sizeof(struct rtc_time));
53 ppc_md.get_rtc_time(&wtime);
56 diff -urN linux-2.4.23/drivers/acorn/char/i2c.c linux-2.4.24/drivers/acorn/char/i2c.c
57 --- linux-2.4.23/drivers/acorn/char/i2c.c 2003-08-25 04:44:40.000000000 -0700
58 +++ linux-2.4.24/drivers/acorn/char/i2c.c 2004-01-05 05:53:56.000000000 -0800
63 + memset(&rtctm, 0, sizeof(struct rtc_time));
64 get_rtc_time(&rtc_raw, &year);
65 rtctm.tm_sec = rtc_raw.secs;
66 rtctm.tm_min = rtc_raw.mins;
67 diff -urN linux-2.4.23/drivers/char/ds1286.c linux-2.4.24/drivers/char/ds1286.c
68 --- linux-2.4.23/drivers/char/ds1286.c 2003-08-25 04:44:41.000000000 -0700
69 +++ linux-2.4.24/drivers/char/ds1286.c 2004-01-05 05:53:56.000000000 -0800
71 * means "don't care" or "match all". Only the tm_hour,
72 * tm_min, and tm_sec values are filled in.
75 + memset(&wtime, 0, sizeof(struct rtc_time));
76 ds1286_get_alm_time(&wtime);
81 case RTC_RD_TIME: /* Read the time/date from RTC */
83 + memset(&wtime, 0, sizeof(struct rtc_time));
84 ds1286_get_time(&wtime);
87 diff -urN linux-2.4.23/drivers/char/efirtc.c linux-2.4.24/drivers/char/efirtc.c
88 --- linux-2.4.23/drivers/char/efirtc.c 2003-06-13 07:51:32.000000000 -0700
89 +++ linux-2.4.24/drivers/char/efirtc.c 2004-01-05 05:53:56.000000000 -0800
92 convert_from_efi_time(efi_time_t *eft, struct rtc_time *wtime)
94 + memset(wtime, 0, sizeof(struct rtc_time));
95 wtime->tm_sec = eft->second;
96 wtime->tm_min = eft->minute;
97 wtime->tm_hour = eft->hour;
98 diff -urN linux-2.4.23/drivers/char/ip27-rtc.c linux-2.4.24/drivers/char/ip27-rtc.c
99 --- linux-2.4.23/drivers/char/ip27-rtc.c 2003-08-25 04:44:41.000000000 -0700
100 +++ linux-2.4.24/drivers/char/ip27-rtc.c 2004-01-05 05:53:56.000000000 -0800
103 case RTC_RD_TIME: /* Read the time/date from RTC */
105 + memset(&wtime, 0, sizeof(struct rtc_time));
106 get_rtc_time(&wtime);
109 diff -urN linux-2.4.23/drivers/char/mips_rtc.c linux-2.4.24/drivers/char/mips_rtc.c
110 --- linux-2.4.23/drivers/char/mips_rtc.c 2003-08-25 04:44:41.000000000 -0700
111 +++ linux-2.4.24/drivers/char/mips_rtc.c 2004-01-05 05:53:56.000000000 -0800
115 case RTC_RD_TIME: /* Read the time/date from RTC */
116 + memset(&rtc_tm, 0, sizeof(struct rtc_time));
117 curr_time = rtc_get_time();
118 to_tm(curr_time, &rtc_tm);
119 rtc_tm.tm_year -= 1900;
120 diff -urN linux-2.4.23/drivers/char/rtc.c linux-2.4.24/drivers/char/rtc.c
121 --- linux-2.4.23/drivers/char/rtc.c 2003-11-28 10:26:20.000000000 -0800
122 +++ linux-2.4.24/drivers/char/rtc.c 2004-01-05 05:53:56.000000000 -0800
124 * means "don't care" or "match all". Only the tm_hour,
125 * tm_min, and tm_sec values are filled in.
128 + memset(&wtime, 0, sizeof(struct rtc_time));
129 get_rtc_alm_time(&wtime);
134 case RTC_RD_TIME: /* Read the time/date from RTC */
136 + memset(&wtime, 0, sizeof(struct rtc_time));
137 get_rtc_time(&wtime);
140 diff -urN linux-2.4.23/drivers/hil/hp_sdc_rtc.c linux-2.4.24/drivers/hil/hp_sdc_rtc.c
141 --- linux-2.4.23/drivers/hil/hp_sdc_rtc.c 2003-06-13 07:51:33.000000000 -0700
142 +++ linux-2.4.24/drivers/hil/hp_sdc_rtc.c 2004-01-05 05:53:56.000000000 -0800
145 case RTC_ALM_READ: /* Read the present alarm time */
147 + memset(&ttime, 0, sizeof(struct timeval));
148 if (hp_sdc_rtc_read_mt(&ttime)) return -EFAULT;
153 case RTC_RD_TIME: /* Read the time/date from RTC */
155 + memset(&wtime, 0, sizeof(struct rtc_time));
156 if (hp_sdc_rtc_read_bbrtc(&wtime)) return -EFAULT;
159 diff -urN linux-2.4.23/drivers/macintosh/rtc.c linux-2.4.24/drivers/macintosh/rtc.c
160 --- linux-2.4.23/drivers/macintosh/rtc.c 2002-02-25 11:37:58.000000000 -0800
161 +++ linux-2.4.24/drivers/macintosh/rtc.c 2004-01-05 05:53:56.000000000 -0800
164 if (ppc_md.get_rtc_time)
166 + memset(&rtc_tm, 0, sizeof(struct rtc_time));
167 get_rtc_time(&rtc_tm);
169 if (copy_to_user((struct rtc_time*)arg, &rtc_tm, sizeof(struct rtc_time)))
170 diff -urN linux-2.4.23/drivers/sbus/char/rtc.c linux-2.4.24/drivers/sbus/char/rtc.c
171 --- linux-2.4.23/drivers/sbus/char/rtc.c 2001-10-10 23:42:47.000000000 -0700
172 +++ linux-2.4.24/drivers/sbus/char/rtc.c 2004-01-05 05:53:56.000000000 -0800
177 + memset(&rtc_tm, 0, sizeof(struct rtc_time));
178 get_rtc_time(&rtc_tm);
180 if (copy_to_user((struct rtc_time*)arg, &rtc_tm, sizeof(struct rtc_time)))