diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c index af376cf4ba9a3e0feb0d6f2daa2ecffd6eb0a1ed..4c45120cdf0c09d207d7a79d2bd1dbc5f98415f9 100644 --- a/kernel/trace/trace_events_hist.c +++ b/kernel/trace/trace_events_hist.c @@ -5663,13 +5663,16 @@ static int event_hist_trigger_func(struct event_command *cmd_ops, if (get_named_trigger_data(trigger_data)) goto enable; - if (has_hist_vars(hist_data)) - save_hist_vars(hist_data); - ret = create_actions(hist_data, file); if (ret) goto out_unreg; + if (has_hist_vars(hist_data) || hist_data->n_var_refs) { + ret = save_hist_vars(hist_data); + if (ret) + goto out_unreg; + } + ret = tracing_map_init(hist_data->map); if (ret) goto out_unreg;