[PATCH] perf_event: fix perf_swevent_hrtimer()

From: Xiao Guangrong
Date: Wed Dec 09 2009 - 23:16:41 EST


fix:
[<c0477471>] ? printk+0x1d/0x24
[<c01c98f9>] ? perf_prepare_sample+0x269/0x280
[<c0149231>] warn_slowpath_common+0x71/0xd0
[<c01c98f9>] ? perf_prepare_sample+0x269/0x280
[<c01492aa>] warn_slowpath_null+0x1a/0x20
[<c01c98f9>] perf_prepare_sample+0x269/0x280
[<c016e9f3>] ? cpu_clock+0x53/0x90
[<c01cc368>] __perf_event_overflow+0x2a8/0x300
[<c01ccc3b>] perf_event_overflow+0x1b/0x30
[<c01ccccf>] perf_swevent_hrtimer+0x7f/0x120

This is because 'data' variable not initialize.

Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx>
---
kernel/perf_event.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index 0bd0f67..41c2dde 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -4009,7 +4009,7 @@ static enum hrtimer_restart perf_swevent_hrtimer(struct hrtimer *hrtimer)
event = container_of(hrtimer, struct perf_event, hw.hrtimer);
event->pmu->read(event);

- data.addr = 0;
+ memset(&data, 0, sizeof(data));
data.period = event->hw.last_period;
regs = get_irq_regs();
/*
--
1.6.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/