perf event: Prevent unbound event__name array access
event__name[] is missing an entry for PERF_RECORD_FINISHED_ROUND, but we happily access the array from the dump code. Make event__name[] static and provide an accessor function, fix up all callers and add the missing string. Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ian Munsie <imunsie@au1.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <peterz@infradead.org> LKML-Reference: <20101207124550.432593943@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:

committed by
Arnaldo Carvalho de Melo

parent
b226a5a729
commit
3835bc00c5
@@ -7,7 +7,7 @@
|
||||
#include "strlist.h"
|
||||
#include "thread.h"
|
||||
|
||||
const char *event__name[] = {
|
||||
static const char *event__name[] = {
|
||||
[0] = "TOTAL",
|
||||
[PERF_RECORD_MMAP] = "MMAP",
|
||||
[PERF_RECORD_LOST] = "LOST",
|
||||
@@ -22,8 +22,18 @@ const char *event__name[] = {
|
||||
[PERF_RECORD_HEADER_EVENT_TYPE] = "EVENT_TYPE",
|
||||
[PERF_RECORD_HEADER_TRACING_DATA] = "TRACING_DATA",
|
||||
[PERF_RECORD_HEADER_BUILD_ID] = "BUILD_ID",
|
||||
[PERF_RECORD_FINISHED_ROUND] = "FINISHED_ROUND",
|
||||
};
|
||||
|
||||
const char *event__get_event_name(unsigned int id)
|
||||
{
|
||||
if (id >= ARRAY_SIZE(event__name))
|
||||
return "INVALID";
|
||||
if (!event__name[id])
|
||||
return "UNKNOWN";
|
||||
return event__name[id];
|
||||
}
|
||||
|
||||
static struct sample_data synth_sample = {
|
||||
.pid = -1,
|
||||
.tid = -1,
|
||||
|
Reference in New Issue
Block a user