tracing: Change STR_VAR_MAX_LEN
authorTom Zanussi <zanussi@kernel.org>
Sun, 4 Oct 2020 22:14:03 +0000 (17:14 -0500)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Mon, 5 Oct 2020 22:13:53 +0000 (18:13 -0400)
32 is too small for this value, and anyway it makes more sense to use
MAX_FILTER_STR_VAL, as this is also the value used for variable-length
__strings.

Link: https://lkml.kernel.org/r/6adfd1668ac1fd8670bd58206944a762061a5559.1601848695.git.zanussi@kernel.org
Tested-by: Axel Rasmussen <axelrasmussen@google.com>
Signed-off-by: Tom Zanussi <zanussi@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace_events_hist.c
kernel/trace/trace_synth.h

index 1b2ef64..3b22e21 100644 (file)
@@ -1398,6 +1398,8 @@ static int hist_trigger_elt_data_alloc(struct tracing_map_elt *elt)
 
        n_str = hist_data->n_field_var_str + hist_data->n_save_var_str;
 
+       BUILD_BUG_ON(STR_VAR_LEN_MAX & (sizeof(u64) - 1));
+
        size = STR_VAR_LEN_MAX;
 
        for (i = 0; i < n_str; i++) {
index ac35c45..5166705 100644 (file)
@@ -7,7 +7,7 @@
 #define SYNTH_SYSTEM           "synthetic"
 #define SYNTH_FIELDS_MAX       32
 
-#define STR_VAR_LEN_MAX                32 /* must be multiple of sizeof(u64) */
+#define STR_VAR_LEN_MAX                MAX_FILTER_STR_VAL /* must be multiple of sizeof(u64) */
 
 struct synth_field {
        char *type;