瀏覽代碼

[PATCH] powerpc: RTC memory corruption

We should be memset'ing the data we are pointing to, not the pointer
itself.  This is in an error path so we probably don't hit it much.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Michael Neuling 19 年之前
父節點
當前提交
0e8ed47912
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      arch/powerpc/kernel/rtas-rtc.c

+ 1 - 1
arch/powerpc/kernel/rtas-rtc.c

@@ -52,7 +52,7 @@ void rtas_get_rtc_time(struct rtc_time *rtc_tm)
 		error = rtas_call(rtas_token("get-time-of-day"), 0, 8, ret);
 		error = rtas_call(rtas_token("get-time-of-day"), 0, 8, ret);
 		if (error == RTAS_CLOCK_BUSY || rtas_is_extended_busy(error)) {
 		if (error == RTAS_CLOCK_BUSY || rtas_is_extended_busy(error)) {
 			if (in_interrupt() && printk_ratelimit()) {
 			if (in_interrupt() && printk_ratelimit()) {
-				memset(&rtc_tm, 0, sizeof(struct rtc_time));
+				memset(rtc_tm, 0, sizeof(struct rtc_time));
 				printk(KERN_WARNING "error: reading clock"
 				printk(KERN_WARNING "error: reading clock"
 				       " would delay interrupt\n");
 				       " would delay interrupt\n");
 				return;	/* delay not allowed */
 				return;	/* delay not allowed */