Re: [PATCH v2 2/2] perf cs-etm: return errcode in cs_etm__process_auxtrace_info()

From: Mathieu Poirier
Date: Thu Mar 21 2019 - 12:44:21 EST


On Wed, 20 Mar 2019 at 20:32, Yue Haibing <yuehaibing@xxxxxxxxxx> wrote:
>
> From: YueHaibing <yuehaibing@xxxxxxxxxx>
>
> 'err' is set in err path, but it's not returned to callers.
> Don't always return -EINVAL, return err.
>
> Fixes: cd8bfd8c973e ("perf tools: Add processing of coresight metadata")
> Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>
> ---
> tools/perf/util/cs-etm.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
> index fd7f1da..2cc773a 100644
> --- a/tools/perf/util/cs-etm.c
> +++ b/tools/perf/util/cs-etm.c
> @@ -1965,8 +1965,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
> @@ -1978,8 +1980,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);
> @@ -2023,5 +2027,5 @@ int cs_etm__process_auxtrace_info(union perf_event *event,
> err_free_hdr:
> zfree(&hdr);
>
> - return -EINVAL;
> + return err;
> }
> --
> 2.7.0

Reviewed-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>

Same here Arnaldo, please consider.

>
>