perf/rapl: fix crash in rapl_scale()
Subsystems (2)
PATCH 1/1 perf/rapl: fix crash in rapl_scale()
This patch fixes a systematic crash in rapl_scale() due to an invalid pointer.
The bug was introduced by commit:
commit 89cbc76768c2fa4ed95545bf961f3a14ddfeed21
Author: Christoph Lameter <[email protected]> Date: Sun Aug 17 12:30:40 2014 -0500
x86: Replace __get_cpu_var uses
The fix is simple. Just put the parenthesis where it needs to be, i.e., around rapl_pmu. To my surprise, the compiler was not complaining about passing an integer instead of a pointer.
--
arch/x86/kernel/cpu/perf_event_intel_rapl.c +1 -1
@@ -142,7 +142,7 @@ static inline u64 rapl_scale(u64 v)* or use ldexp(count, -32). * Watts = Joules/Time delta */ -return v << (32 -__this_cpu_read (rapl_pmu->hw_unit)); +return v << (32 -__this_cpu_read (rapl_pmu)->hw_unit); }static u64 rapl_event_update (struct perf_event *event)
Peter Zijlstra
maintainerQuoted 12 lines · Stephane Eranian
This patch fixes a systematic crash in
rapl_scale()due to an invalid pointer.The bug was introduced by commit:
commit89cbc76768c2fa4ed95545bf961f3a14ddfeed21Author: Christoph Lameter <[email protected]> Date: Sun Aug 17 12:30:40 2014 -0500x86: Replace
__get_cpu_varuses
Quoted 8 lines
The fix is simple. Just put the parenthesis where it needs to be, i.e., around
rapl_pmu. To my surprise, the compiler was not complaining about passing an integer instead of a pointer.Reported-by Vince Weaver <[email protected]>Signed-off-by Stephane Eranian <[email protected]>Tested-by Vince Weaver <[email protected]>
Thanks!
tip-bot for Stephane Eranian
merge bot[tip:perf/urgent] perf/rapl: Fix crash in rapl_scale()
In reply to Stephane Eranianperf/rapl: Fix crash in rapl_scale()
Commit-ID: 98b008dff8452653909d9263efda925873e8d8bb Gitweb: http://git.kernel.org/tip/98b008dff8452653909d9263efda925873e8d8bb Author: Stephane Eranian <[email protected]> AuthorDate: Thu, 22 Jan 2015 21:38:34 +0100 Committer: Ingo Molnar <[email protected]> CommitDate: Wed, 28 Jan 2015 13:04:35 +0100
perf/rapl: Fix crash in rapl_scale()
This patch fixes a systematic crash in rapl_scale() due to an invalid pointer.
The bug was introduced by commit:
89cbc76768c2 ("x86: Replace __get_cpu_var uses")
The fix is simple. Just put the parenthesis where it needs to be, i.e., around rapl_pmu. To my surprise, the compiler was not complaining about passing an integer instead of a pointer.
--- arch/x86/kernel/cpu/perf_event_intel_rapl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/x86/kernel/cpu/perf_event_intel_rapl.c +1 -1
@@ -142,7 +142,7 @@ static inline u64 rapl_scale(u64 v)* or use ldexp(count, -32). * Watts = Joules/Time delta */ -return v << (32 -__this_cpu_read (rapl_pmu->hw_unit)); +return v << (32 -__this_cpu_read (rapl_pmu)->hw_unit); }static u64 rapl_event_update (struct perf_event *event)