* [PATCH] perf_event: fix perf_swevent_hrtimer() @ 2009-12-10 4:14 Xiao Guangrong 2009-12-10 5:15 ` Peter Zijlstra 0 siblings, 1 reply; 7+ messages in thread From: Xiao Guangrong @ 2009-12-10 4:14 UTC (permalink / raw) To: Ingo Molnar; +Cc: Frederic Weisbecker, Peter Zijlstra, Paul Mackerras, LKML 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@cn.fujitsu.com> --- 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] perf_event: fix perf_swevent_hrtimer() 2009-12-10 4:14 [PATCH] perf_event: fix perf_swevent_hrtimer() Xiao Guangrong @ 2009-12-10 5:15 ` Peter Zijlstra 2009-12-10 5:24 ` Xiao Guangrong ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Peter Zijlstra @ 2009-12-10 5:15 UTC (permalink / raw) To: Xiao Guangrong; +Cc: Ingo Molnar, Frederic Weisbecker, Paul Mackerras, LKML On Thu, 2009-12-10 at 12:14 +0800, Xiao Guangrong wrote: > 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. Nope, please just initialize the missing variable. Which from a quick glance is data.raw. > Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> > --- > 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(); > /* ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] perf_event: fix perf_swevent_hrtimer() 2009-12-10 5:15 ` Peter Zijlstra @ 2009-12-10 5:24 ` Xiao Guangrong 2009-12-10 6:00 ` [PATCH v2] " Xiao Guangrong 2009-12-10 9:08 ` [PATCH] perf_event: fix variable initialization in other path Xiao Guangrong 2 siblings, 0 replies; 7+ messages in thread From: Xiao Guangrong @ 2009-12-10 5:24 UTC (permalink / raw) To: Peter Zijlstra; +Cc: Ingo Molnar, Frederic Weisbecker, Paul Mackerras, LKML Peter Zijlstra wrote: > On Thu, 2009-12-10 at 12:14 +0800, Xiao Guangrong wrote: >> 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. > > Nope, please just initialize the missing variable. Ah, my mistake, I'll resend it. Thanks, Xiao ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] perf_event: fix perf_swevent_hrtimer() 2009-12-10 5:15 ` Peter Zijlstra 2009-12-10 5:24 ` Xiao Guangrong @ 2009-12-10 6:00 ` Xiao Guangrong 2009-12-10 6:18 ` [tip:perf/urgent] perf_event: Fix perf_swevent_hrtimer() variable initialization tip-bot for Xiao Guangrong 2009-12-10 9:08 ` [PATCH] perf_event: fix variable initialization in other path Xiao Guangrong 2 siblings, 1 reply; 7+ messages in thread From: Xiao Guangrong @ 2009-12-10 6:00 UTC (permalink / raw) To: Peter Zijlstra; +Cc: Ingo Molnar, Frederic Weisbecker, Paul Mackerras, LKML 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.raw' variable not initialize. Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> --- kernel/perf_event.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/kernel/perf_event.c b/kernel/perf_event.c index 0bd0f67..e63ba9a 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c @@ -4010,6 +4010,7 @@ static enum hrtimer_restart perf_swevent_hrtimer(struct hrtimer *hrtimer) event->pmu->read(event); data.addr = 0; + data.raw = NULL; data.period = event->hw.last_period; regs = get_irq_regs(); /* -- 1.6.1.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [tip:perf/urgent] perf_event: Fix perf_swevent_hrtimer() variable initialization 2009-12-10 6:00 ` [PATCH v2] " Xiao Guangrong @ 2009-12-10 6:18 ` tip-bot for Xiao Guangrong 0 siblings, 0 replies; 7+ messages in thread From: tip-bot for Xiao Guangrong @ 2009-12-10 6:18 UTC (permalink / raw) To: linux-tip-commits Cc: linux-kernel, paulus, hpa, mingo, peterz, xiaoguangrong, fweisbec, tglx, mingo Commit-ID: 21140f4d3387aa2213f1deea0128df1dbf924379 Gitweb: http://git.kernel.org/tip/21140f4d3387aa2213f1deea0128df1dbf924379 Author: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> AuthorDate: Thu, 10 Dec 2009 14:00:51 +0800 Committer: Ingo Molnar <mingo@elte.hu> CommitDate: Thu, 10 Dec 2009 07:11:05 +0100 perf_event: Fix perf_swevent_hrtimer() variable initialization 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.raw' variable not initialize. Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> Acked-by: Peter Zijlstra <peterz@infradead.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Paul Mackerras <paulus@samba.org> LKML-Reference: <4B208E93.1010801@cn.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> --- kernel/perf_event.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/kernel/perf_event.c b/kernel/perf_event.c index 94e1b28..3a5d6c4 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c @@ -4010,6 +4010,7 @@ static enum hrtimer_restart perf_swevent_hrtimer(struct hrtimer *hrtimer) event->pmu->read(event); data.addr = 0; + data.raw = NULL; data.period = event->hw.last_period; regs = get_irq_regs(); /* ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH] perf_event: fix variable initialization in other path 2009-12-10 5:15 ` Peter Zijlstra 2009-12-10 5:24 ` Xiao Guangrong 2009-12-10 6:00 ` [PATCH v2] " Xiao Guangrong @ 2009-12-10 9:08 ` Xiao Guangrong 2009-12-10 16:24 ` [tip:perf/urgent] perf_event: Fix variable initialization in other codepaths tip-bot for Xiao Guangrong 2 siblings, 1 reply; 7+ messages in thread From: Xiao Guangrong @ 2009-12-10 9:08 UTC (permalink / raw) To: Ingo Molnar; +Cc: Peter Zijlstra, Frederic Weisbecker, Paul Mackerras, LKML fix variable initialization in other path [Commit-ID: 21140f4d3387aa2213f1deea0128df1dbf924379 is not clean] Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> --- arch/x86/kernel/cpu/perf_event.c | 4 ++++ kernel/perf_event.c | 1 + 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c index d35f260..1342f23 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c @@ -1632,6 +1632,7 @@ static void intel_pmu_drain_bts_buffer(struct cpu_hw_events *cpuc) data.period = event->hw.last_period; data.addr = 0; + data.raw = NULL; regs.ip = 0; /* @@ -1749,6 +1750,7 @@ static int p6_pmu_handle_irq(struct pt_regs *regs) u64 val; data.addr = 0; + data.raw = NULL; cpuc = &__get_cpu_var(cpu_hw_events); @@ -1794,6 +1796,7 @@ static int intel_pmu_handle_irq(struct pt_regs *regs) u64 ack, status; data.addr = 0; + data.raw = NULL; cpuc = &__get_cpu_var(cpu_hw_events); @@ -1857,6 +1860,7 @@ static int amd_pmu_handle_irq(struct pt_regs *regs) u64 val; data.addr = 0; + data.raw = NULL; cpuc = &__get_cpu_var(cpu_hw_events); diff --git a/kernel/perf_event.c b/kernel/perf_event.c index 41c2dde..6e2888d 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c @@ -4299,6 +4299,7 @@ void perf_bp_event(struct perf_event *bp, void *data) struct perf_sample_data sample; struct pt_regs *regs = data; + sample.raw = NULL; sample.addr = bp->attr.bp_addr; if (!perf_exclude_event(bp, regs)) -- 1.6.1.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [tip:perf/urgent] perf_event: Fix variable initialization in other codepaths 2009-12-10 9:08 ` [PATCH] perf_event: fix variable initialization in other path Xiao Guangrong @ 2009-12-10 16:24 ` tip-bot for Xiao Guangrong 0 siblings, 0 replies; 7+ messages in thread From: tip-bot for Xiao Guangrong @ 2009-12-10 16:24 UTC (permalink / raw) To: linux-tip-commits Cc: linux-kernel, paulus, hpa, mingo, peterz, xiaoguangrong, fweisbec, tglx, mingo Commit-ID: 5e855db5d8fec44e6604eb245aa9077bbd3f0d05 Gitweb: http://git.kernel.org/tip/5e855db5d8fec44e6604eb245aa9077bbd3f0d05 Author: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> AuthorDate: Thu, 10 Dec 2009 17:08:54 +0800 Committer: Ingo Molnar <mingo@elte.hu> CommitDate: Thu, 10 Dec 2009 17:23:02 +0100 perf_event: Fix variable initialization in other codepaths Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Paul Mackerras <paulus@samba.org> LKML-Reference: <4B20BAA6.7010609@cn.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> --- arch/x86/kernel/cpu/perf_event.c | 4 ++++ kernel/perf_event.c | 1 + 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c index d35f260..1342f23 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c @@ -1632,6 +1632,7 @@ static void intel_pmu_drain_bts_buffer(struct cpu_hw_events *cpuc) data.period = event->hw.last_period; data.addr = 0; + data.raw = NULL; regs.ip = 0; /* @@ -1749,6 +1750,7 @@ static int p6_pmu_handle_irq(struct pt_regs *regs) u64 val; data.addr = 0; + data.raw = NULL; cpuc = &__get_cpu_var(cpu_hw_events); @@ -1794,6 +1796,7 @@ static int intel_pmu_handle_irq(struct pt_regs *regs) u64 ack, status; data.addr = 0; + data.raw = NULL; cpuc = &__get_cpu_var(cpu_hw_events); @@ -1857,6 +1860,7 @@ static int amd_pmu_handle_irq(struct pt_regs *regs) u64 val; data.addr = 0; + data.raw = NULL; cpuc = &__get_cpu_var(cpu_hw_events); diff --git a/kernel/perf_event.c b/kernel/perf_event.c index 3a5d6c4..d891ec4 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c @@ -4300,6 +4300,7 @@ void perf_bp_event(struct perf_event *bp, void *data) struct perf_sample_data sample; struct pt_regs *regs = data; + sample.raw = NULL; sample.addr = bp->attr.bp_addr; if (!perf_exclude_event(bp, regs)) ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-12-10 16:25 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-12-10 4:14 [PATCH] perf_event: fix perf_swevent_hrtimer() Xiao Guangrong 2009-12-10 5:15 ` Peter Zijlstra 2009-12-10 5:24 ` Xiao Guangrong 2009-12-10 6:00 ` [PATCH v2] " Xiao Guangrong 2009-12-10 6:18 ` [tip:perf/urgent] perf_event: Fix perf_swevent_hrtimer() variable initialization tip-bot for Xiao Guangrong 2009-12-10 9:08 ` [PATCH] perf_event: fix variable initialization in other path Xiao Guangrong 2009-12-10 16:24 ` [tip:perf/urgent] perf_event: Fix variable initialization in other codepaths tip-bot for Xiao Guangrong
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox