Re: [PATCH] tracing/synthetic: Print out u64 values properly

From: Google
Date: Fri Sep 15 2023 - 10:16:38 EST


Hi Tero,

On Fri, 15 Sep 2023 13:46:45 +0300
Tero Kristo <tero.kristo@xxxxxxxxxxxxxxx> wrote:

> Hi Masami,
>
> On 15/09/2023 09:01, Masami Hiramatsu (Google) wrote:
> > Hi Tero,
> >
> > On Mon, 11 Sep 2023 17:17:04 +0300
> > Tero Kristo <tero.kristo@xxxxxxxxxxxxxxx> wrote:
> >
> >> The synth traces incorrectly print pointer to the synthetic event values
> >> instead of the actual value when using u64 type. Fix by addressing the
> >> contents of the union properly.
> > Thanks for pointing it out.
> > But I would like to see a new "case 8:" print code instead of changing
> > "default". Can you keep the default as it is and add "case 8:" case there?
>
> Are you sure about that? I think keeping the default as is would just
> print out a useless pointer value to the synth event itself (which is
> what happened with u64 type.)

Yeah, I think the "default" here means no correct way to show the value
in it. So anyway, if we know the size is 8 and there is val->as_u64,
there should be "case 8:".

>
> Anyways, that requires a new patch to be created on top as this has hit
> the mainline as a fix already.

Oops, I missed that.

Thank you!

>
> -Tero
>
>
> >
> > Thanks,
> >
> >> Fixes: ddeea494a16f ("tracing/synthetic: Use union instead of casts")
> >> Cc: stable@xxxxxxxxxxxxxxx
> >> Signed-off-by: Tero Kristo <tero.kristo@xxxxxxxxxxxxxxx>
> >> ---
> >> kernel/trace/trace_events_synth.c | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/kernel/trace/trace_events_synth.c b/kernel/trace/trace_events_synth.c
> >> index 7fff8235075f..070365959c0a 100644
> >> --- a/kernel/trace/trace_events_synth.c
> >> +++ b/kernel/trace/trace_events_synth.c
> >> @@ -337,7 +337,7 @@ static void print_synth_event_num_val(struct trace_seq *s,
> >> break;
> >>
> >> default:
> >> - trace_seq_printf(s, print_fmt, name, val, space);
> >> + trace_seq_printf(s, print_fmt, name, val->as_u64, space);
> >> break;
> >> }
> >> }
> >> --
> >> 2.40.1
> >>
> >


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>