Thread (265 messages) 265 messages, 5 authors, 2013-09-12

[192/251] perf/arm: Fix armpmu_map_hw_event()

From: Steven Rostedt <rostedt@goodmis.org>
Date: 2013-09-11 04:58:58
Also in: lkml
Subsystem: arm pmu profiling and debugging, arm port, performance events subsystem, the rest · Maintainers: Will Deacon, Mark Rutland, Russell King, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Namhyung Kim, Linus Torvalds

3.6.11.9-rc1 stable review patch.
If anyone has any objections, please let me know.

------------------

From: Stephen Boyd <redacted>

[ Upstream commit b88a2595b6d8aedbd275c07dfa784657b4f757eb ]

Fix constraint check in armpmu_map_hw_event().

Reported-and-tested-by: Vince Weaver <redacted>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 arch/arm/kernel/perf_event.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c
index 5770b9d..22a022a 100644
--- a/arch/arm/kernel/perf_event.c
+++ b/arch/arm/kernel/perf_event.c
@@ -106,7 +106,12 @@ armpmu_map_cache_event(const unsigned (*cache_map)
 static int
 armpmu_map_event(const unsigned (*event_map)[PERF_COUNT_HW_MAX], u64 config)
 {
-	int mapping = (*event_map)[config];
+	int mapping;
+
+	if (config >= PERF_COUNT_HW_MAX)
+		return -ENOENT;
+
+	mapping = (*event_map)[config];
 	return mapping == HW_OP_UNSUPPORTED ? -ENOENT : mapping;
 }
 
-- 
1.7.10.4

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help