forked from luck/tmp_suning_uos_patched
tracing: Change synthetic event string format to limit printed length
Change the format for printing synthetic field strings to limit the length of the string printed even if it's not correctly terminated. Link: https://lore.kernel.org/r/20201002210036.0200371b@oasis.local.home Link: https://lkml.kernel.org/r/b6bdb34e70d970e8026daa3503db6b8e5cdad524.1601848695.git.zanussi@kernel.org Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
parent
cbcd9c8369
commit
8db4d6bfbb
|
@ -234,7 +234,7 @@ static const char *synth_field_fmt(char *type)
|
||||||
else if (strcmp(type, "gfp_t") == 0)
|
else if (strcmp(type, "gfp_t") == 0)
|
||||||
fmt = "%x";
|
fmt = "%x";
|
||||||
else if (synth_field_is_string(type))
|
else if (synth_field_is_string(type))
|
||||||
fmt = "%s";
|
fmt = "%.*s";
|
||||||
|
|
||||||
return fmt;
|
return fmt;
|
||||||
}
|
}
|
||||||
|
@ -303,11 +303,13 @@ static enum print_line_t print_synth_event(struct trace_iterator *iter,
|
||||||
str_field = (char *)entry + data_offset;
|
str_field = (char *)entry + data_offset;
|
||||||
|
|
||||||
trace_seq_printf(s, print_fmt, se->fields[i]->name,
|
trace_seq_printf(s, print_fmt, se->fields[i]->name,
|
||||||
|
STR_VAR_LEN_MAX,
|
||||||
str_field,
|
str_field,
|
||||||
i == se->n_fields - 1 ? "" : " ");
|
i == se->n_fields - 1 ? "" : " ");
|
||||||
n_u64++;
|
n_u64++;
|
||||||
} else {
|
} else {
|
||||||
trace_seq_printf(s, print_fmt, se->fields[i]->name,
|
trace_seq_printf(s, print_fmt, se->fields[i]->name,
|
||||||
|
STR_VAR_LEN_MAX,
|
||||||
(char *)&entry->fields[n_u64],
|
(char *)&entry->fields[n_u64],
|
||||||
i == se->n_fields - 1 ? "" : " ");
|
i == se->n_fields - 1 ? "" : " ");
|
||||||
n_u64 += STR_VAR_LEN_MAX / sizeof(u64);
|
n_u64 += STR_VAR_LEN_MAX / sizeof(u64);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user