perf cs-etm: Return errcode in cs_etm__process_auxtrace_info()
authorYueHaibing <yuehaibing@huawei.com>
Thu, 21 Mar 2019 02:31:22 +0000 (10:31 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 11 Jul 2019 15:45:02 +0000 (12:45 -0300)
The 'err' variable is set in the error path, but it's not returned to
callers.  Don't always return -EINVAL, return err.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Fixes: cd8bfd8c973e ("perf tools: Add processing of coresight metadata")
Link: http://lkml.kernel.org/r/20190321023122.21332-3-yuehaibing@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/cs-etm.c

index 2e9f5bc..3d1c34f 100644 (file)
@@ -2517,8 +2517,10 @@ int cs_etm__process_auxtrace_info(union perf_event *event,
        session->auxtrace = &etm->auxtrace;
 
        etm->unknown_thread = thread__new(999999999, 999999999);
-       if (!etm->unknown_thread)
+       if (!etm->unknown_thread) {
+               err = -ENOMEM;
                goto err_free_queues;
+       }
 
        /*
         * Initialize list node so that at thread__zput() we can avoid
@@ -2530,8 +2532,10 @@ int cs_etm__process_auxtrace_info(union perf_event *event,
        if (err)
                goto err_delete_thread;
 
-       if (thread__init_map_groups(etm->unknown_thread, etm->machine))
+       if (thread__init_map_groups(etm->unknown_thread, etm->machine)) {
+               err = -ENOMEM;
                goto err_delete_thread;
+       }
 
        if (dump_trace) {
                cs_etm__print_auxtrace_info(auxtrace_info->priv, num_cpu);
@@ -2575,5 +2579,5 @@ err_free_traceid_list:
 err_free_hdr:
        zfree(&hdr);
 
-       return -EINVAL;
+       return err;
 }