Merge tag 'vboxsf-v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hansg...
[linux-2.6-microblaze.git] / kernel / trace / trace_events_hist.c
index c1abd63..0207aee 100644 (file)
@@ -1555,6 +1555,13 @@ static int contains_operator(char *str)
 
        switch (*op) {
        case '-':
+               /*
+                * Unfortunately, the modifier ".sym-offset"
+                * can confuse things.
+                */
+               if (op - str >= 4 && !strncmp(op - 4, ".sym-offset", 11))
+                       return FIELD_OP_NONE;
+
                if (*str == '-')
                        field_op = FIELD_OP_UNARY_MINUS;
                else
@@ -2434,12 +2441,12 @@ create_field_var_hist(struct hist_trigger_data *target_hist_data,
                      char *subsys_name, char *event_name, char *field_name)
 {
        struct trace_array *tr = target_hist_data->event_file->tr;
-       struct hist_field *event_var = ERR_PTR(-EINVAL);
        struct hist_trigger_data *hist_data;
        unsigned int i, n, first = true;
        struct field_var_hist *var_hist;
        struct trace_event_file *file;
        struct hist_field *key_field;
+       struct hist_field *event_var;
        char *saved_filter;
        char *cmd;
        int ret;
@@ -5232,6 +5239,7 @@ static void unregister_field_var_hists(struct hist_trigger_data *hist_data)
                cmd = hist_data->field_var_hists[i]->cmd;
                ret = event_hist_trigger_func(&trigger_hist_cmd, file,
                                              "!hist", "hist", cmd);
+               WARN_ON_ONCE(ret < 0);
        }
 }