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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux