On Wed, 14 Feb 2024 23:05:56 +0100 Thorsten Blum <thorsten.b...@toblux.com> wrote:
> Fix trace_string() by assigning the string length to the return variable > which got lost in commit ddeea494a16f ("tracing/synthetic: Use union > instead of casts") and caused trace_string() to always return 0. > Good catch! Acked-by: Masami Hiramatsu (Google) <mhira...@kernel.org> Fixes: ddeea494a16f ("tracing/synthetic: Use union instead of casts") Cc: sta...@vger.kernel.org Thanks! > Signed-off-by: Thorsten Blum <thorsten.b...@toblux.com> > --- > kernel/trace/trace_events_synth.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/kernel/trace/trace_events_synth.c > b/kernel/trace/trace_events_synth.c > index e7af286af4f1..c82b401a294d 100644 > --- a/kernel/trace/trace_events_synth.c > +++ b/kernel/trace/trace_events_synth.c > @@ -441,8 +441,9 @@ static unsigned int trace_string(struct synth_trace_event > *entry, > if (is_dynamic) { > union trace_synth_field *data = &entry->fields[*n_u64]; > > + len = fetch_store_strlen((unsigned long)str_val); > data->as_dynamic.offset = struct_size(entry, fields, > event->n_u64) + data_size; > - data->as_dynamic.len = fetch_store_strlen((unsigned > long)str_val); > + data->as_dynamic.len = len; > > ret = fetch_store_string((unsigned long)str_val, > &entry->fields[*n_u64], entry); > > -- > 2.39.2 > -- Masami Hiramatsu (Google) <mhira...@kernel.org>