Commit-ID:  d0b849e9bced36cf279881294c07c43b0b9dce86
Gitweb:     http://git.kernel.org/tip/d0b849e9bced36cf279881294c07c43b0b9dce86
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Mon, 11 Nov 2013 16:28:42 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Mon, 11 Nov 2013 16:28:42 -0300

perf tests: Check return of perf_evlist__open sw clock event period test

We were not checking if we successfully opened the counters, i.e. if
sys_perf_event_open worked, when it doesn't in this test, we were
continuing anyway and then segfaulting when trying to access the file
descriptor array, that at that point had been freed in perf_evlist__open
error path:

[root@ssdandy ~]# perf test -v 19
19: Test software clock events have valid period values    :
--- start ---
Segmentation fault (core dumped)
[root@ssdandy ~]#

Do the check and bail out instead.

Cc: Adrian Hunter <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
Link: http://lkml.kernel.org/n/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
 tools/perf/tests/sw-clock.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/perf/tests/sw-clock.c b/tools/perf/tests/sw-clock.c
index 73c5c37..ed77772 100644
--- a/tools/perf/tests/sw-clock.c
+++ b/tools/perf/tests/sw-clock.c
@@ -57,7 +57,11 @@ static int __test__sw_clock_freq(enum perf_sw_ids clock_id)
                goto out_delete_maps;
        }
 
-       perf_evlist__open(evlist);
+       if (perf_evlist__open(evlist)) {
+               err = -errno;
+               pr_debug("Couldn't open evlist: %s\n", strerror(errno));
+               goto out_delete_maps;
+       }
 
        err = perf_evlist__mmap(evlist, 128, true);
        if (err < 0) {
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to