[PATCH v2 0/4] tracing: More synthetic event error fixes

From: Tom Zanussi
Date: Fri Oct 23 2020 - 16:34:01 EST


This is v2 of the previous sythetic event error fix patchset.

This version drops the original ([PATCH 1/4] tracing: Make
trace_*_run_command() more flexible) and (tracing: Use new
trace_run_command() options) patches and replaces them with Masami's
patch (tracing/dynevent: Delegate parsing to create function) [1].
The new version adds in all the synthetic event changes needed to
compile and use the new interface.

A new patch was also added (selftests/ftrace: Add synthetic event
field separators) that fixes more invalid synthetic event syntax I
found while testing.

I also added some more new checks to the synthetic event sytax error
testcase.

As before, I didn't see any problems running the entire ftrace
testsuite or the test modules that also use the things that were
touched here.

[1] https://lore.kernel.org/lkml/20201019001504.70dc3ec608277ed22060d2f7@xxxxxxxxxx/

Thanks,

Tom


v1 text:

Hi,

This patchset addresses the synthetic event error anomalies reported
by Masami in the last patchset [1].

It turns out that most of the problems boil down to clunky separator
parsing; adding a couple new abilities to trace_run_command() and then
adapting the existing users seemed to me the best way to fix these
things, and also gets rid of some code.

Also, to make things easier for error display, I changed these to
preserve the original command string and pass it through the callback
instead of rebuilding it for error display.

I added some new error strings and removed unused ones as well, and
added a bunch of new test cases to the synthetic parser error test
case.

I didn't see any problems running the entire ftrace testsuite or the
test modules that also use the things that were touched here.

Thanks,

Tom

[1] https://lore.kernel.org/lkml/20201014110636.139df7be275d40a23b523b84@xxxxxxxxxx/

The following changes since commit ce66f6136460a51acfc32de4481fe8fd69dfd50b:

tracing: Remove __init from __trace_early_add_new_event() (2020-10-16 09:43:36 -0400)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/zanussi/linux-trace.git ftrace/synth-fixes-v2

Masami Hiramatsu (1):
tracing/dynevent: Delegate parsing to create function

Tom Zanussi (3):
tracing: Update synth command errors
selftests/ftrace: Add synthetic event field separators
selftests/ftrace: Update synthetic event syntax errors

kernel/trace/trace.c | 23 +-
kernel/trace/trace.h | 3 +-
kernel/trace/trace_dynevent.c | 35 ++-
kernel/trace/trace_dynevent.h | 4 +-
kernel/trace/trace_events_synth.c | 246 +++++++++++-------
kernel/trace/trace_kprobe.c | 33 +--
kernel/trace/trace_probe.c | 17 ++
kernel/trace/trace_probe.h | 1 +
kernel/trace/trace_uprobe.c | 17 +-
.../trigger-inter-event-combined-hist.tc | 4 +-
.../trigger-onmatch-action-hist.tc | 2 +-
.../trigger-onmatch-onmax-action-hist.tc | 2 +-
.../trigger-synthetic_event_syntax_errors.tc | 36 ++-
.../inter-event/trigger-trace-action-hist.tc | 2 +-
14 files changed, 262 insertions(+), 163 deletions(-)

--
2.17.1