]> git.baikalelectronics.ru Git - kernel.git/commitdiff
tracing/histograms: String compares should not care about signed values
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 30 Nov 2021 17:31:23 +0000 (12:31 -0500)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 2 Dec 2021 02:04:22 +0000 (21:04 -0500)
When comparing two strings for the "onmatch" histogram trigger, fields
that are strings use string comparisons, which do not care about being
signed or not.

Do not fail to match two string fields if one is unsigned char array and
the other is a signed char array.

Link: https://lore.kernel.org/all/20211129123043.5cfd687a@gandalf.local.home/
Cc: stable@vgerk.kernel.org
Cc: Tom Zanussi <zanussi@kernel.org>
Cc: Yafang Shao <laoar.shao@gmail.com>
Fixes: beb9492445390 ("tracing: Accept different type for synthetic event fields")
Reviewed-by: Masami Hiramatsu <mhiramatsu@kernel.org>
Reported-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace_events_hist.c

index 9555b8e1d1e386b1699163648507532961f05dcd..319f9c8ca7e7d8d4da9ef77e2c5eab9c78c63568 100644 (file)
@@ -3757,7 +3757,7 @@ static int check_synth_field(struct synth_event *event,
 
        if (strcmp(field->type, hist_field->type) != 0) {
                if (field->size != hist_field->size ||
-                   field->is_signed != hist_field->is_signed)
+                   (!field->is_string && field->is_signed != hist_field->is_signed))
                        return -EINVAL;
        }