On Tue, Nov 30, 2021 at 1:30 AM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > > On Mon, 29 Nov 2021 11:13:31 +0100 > Sven Schnelle <svens@xxxxxxxxxxxxx> wrote: > > > > This breaks the trigger-field-variable-support.tc from the ftrace test > > suite at least on s390: > > > > echo 'hist:keys=next_comm:wakeup_lat=common_timestamp.usecs-$ts0:onmatch(sched.sched_waking).wakeup_latency($wakeup_lat,next_pid,sched.sched_waking.prio,next_comm) if next_comm=="ping"' > > linux/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-field-variable-support.tc: line 15: echo: write error: Invalid argument > > > > I added a debugging line into check_synth_field(): > > > > [ 44.091037] field->size 16, hist_field->size 16, field->is_signed 1, hist_field->is_signed 0 > > > > Note the difference in the signed field. > > That should not break on strings. > > Does this fix it (if you keep the patch)? > > -- Steve > > diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c > index 9555b8e1d1e3..319f9c8ca7e7 100644 > --- a/kernel/trace/trace_events_hist.c > +++ b/kernel/trace/trace_events_hist.c > @@ -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; > } > Many thanks for the quick fix! It seems this fix should be ahead of patch #7. I will send v3 which contains your fix. -- Thanks Yafang