tracing/histograms: Simplify create_hist_fields()
authorZheng Yejian <zhengyejian1@huawei.com>
Thu, 30 Jun 2022 01:31:52 +0000 (09:31 +0800)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Tue, 12 Jul 2022 21:35:11 +0000 (17:35 -0400)
When I look into implements of create_hist_fields(), I think there can be
following two simplifications:
  1. If something wrong happened in parse_var_defs(), free_var_defs() would
     have been called in it, so no need goto free again after calling it;
  2. After calling create_key_fields(), regardless of the value of 'ret', it
     then always runs into 'out: ', so the judge of 'ret' is redundant.

Link: https://lkml.kernel.org/r/20220630013152.164871-1-zhengyejian1@huawei.com
Signed-off-by: Zheng Yejian <zhengyejian1@huawei.com>
Reviewed-by: Tom Rix <trix@redhat.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/trace_events_hist.c

index e87a46794079dd30dac84bfa91fc19c99339bdd7..fdf784620c283a4a01238f52117e4d6164b08e67 100644 (file)
@@ -4455,7 +4455,7 @@ static int create_hist_fields(struct hist_trigger_data *hist_data,
 
        ret = parse_var_defs(hist_data);
        if (ret)
-               goto out;
+               return ret;
 
        ret = create_val_fields(hist_data, file);
        if (ret)
@@ -4466,8 +4466,7 @@ static int create_hist_fields(struct hist_trigger_data *hist_data,
                goto out;
 
        ret = create_key_fields(hist_data, file);
-       if (ret)
-               goto out;
+
  out:
        free_var_defs(hist_data);