diff options
author | Zhouyi Zhou <zhouzhouyi@gmail.com> | 2013-10-24 07:43:33 (GMT) |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-10-28 19:06:00 (GMT) |
commit | 8e50d384cc1d5afd2989cf0f7093756ed7164eb2 (patch) | |
tree | 87e34b49783a32d8552eaad510d0b5fba94ee08e /tools/perf/tests/open-syscall-tp-fields.c | |
parent | ae779a630977d93fbebfa06216ea47df5b5c62c8 (diff) | |
download | linux-fsl-qoriq-8e50d384cc1d5afd2989cf0f7093756ed7164eb2.tar.xz |
perf tools: Fixup mmap event consumption
The tail position of the event buffer should only be modified after
actually use that event.
If not the event buffer could be invalid before use, and segment fault
occurs when invoking perf top -G.
Signed-off-by: Zhouyi Zhou <yizhouzhou@ict.ac.cn>
Cc: David Ahern <dsahern@gmail.com>
Cc: Zhouyi Zhou <yizhouzhou@ict.ac.cn>
Link: http://lkml.kernel.org/r/1382600613-32177-1-git-send-email-zhouzhouyi@gmail.com
[ Simplified the logic using exit gotos and renamed write_tail method to mmap_consume ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/tests/open-syscall-tp-fields.c')
-rw-r--r-- | tools/perf/tests/open-syscall-tp-fields.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/perf/tests/open-syscall-tp-fields.c b/tools/perf/tests/open-syscall-tp-fields.c index fc5b9fc..524b221 100644 --- a/tools/perf/tests/open-syscall-tp-fields.c +++ b/tools/perf/tests/open-syscall-tp-fields.c @@ -77,8 +77,10 @@ int test__syscall_open_tp_fields(void) ++nr_events; - if (type != PERF_RECORD_SAMPLE) + if (type != PERF_RECORD_SAMPLE) { + perf_evlist__mmap_consume(evlist, i); continue; + } err = perf_evsel__parse_sample(evsel, event, &sample); if (err) { |