This updates v1 to fix a couple of additional things that Masami pointed out:
- The error logging for the BAD_TYPE error was actually pointing to the name - it now points to the type as it should. - Added a new test case that verifies most of the synthetic event error messages and caret positions. - Added a new patch that correctly strips off trailing semicolons and everything else from array types, which wasn't happening before, even before the dynamic array patches. Thanks, Tom Original v1 text: These patches provide fixes for the problems observed by Masami in the new synthetic event dynamic string patchset. The first patch (tracing: Don't show dynamic string internals in synthetic event description) removes the __data_loc from the event description but leaves it in the format. The patch (tracing: Add synthetic event error logging) addresses the lack of error messages when parse errors occur. The remaining three patches address the other problems Masami noted which result from allowing illegal characters in synthetic event and field names when defining an event. The is_good_name() function is used to check that's not possible for the probe events, but should also be used for the synthetic events as well. (tracing: Move is_good_name() from trace_probe.h to trace.h) makes that function available to other trace subsystems by putting it in trace.h. (tracing: Check that the synthetic event and field names are legal) applies it to the synthetic events, and (selftests/ftrace: Change synthetic event name for inter-event-combined test) changes a testcase that now fails because it uses an illegal name. The following changes since commit 848183553e431e6e9c2ea2f72421a7a1bbc6532e: tracing: Fix synthetic print fmt check for use of __get_str() (2020-10-08 15:29:07 -0400) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/zanussi/linux-trace.git ftrace/dynstring-fixes-v2 Tom Zanussi (7): tracing: Don't show dynamic string internals in synthetic event description tracing: Move is_good_name() from trace_probe.h to trace.h tracing: Check that the synthetic event and field names are legal tracing: Add synthetic event error logging selftests/ftrace: Change synthetic event name for inter-event-combined test tracing: Handle synthetic event array field type checking correctly selftests/ftrace: Add test case for synthetic event syntax errors kernel/trace/trace.h | 13 ++ kernel/trace/trace_events_synth.c | 140 +++++++++++++++++- kernel/trace/trace_probe.h | 13 -- .../trigger-inter-event-combined-hist.tc | 8 +- .../trigger-synthetic_event_syntax_errors.tc | 19 +++ 5 files changed, 171 insertions(+), 22 deletions(-) create mode 100644 tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic_event_syntax_errors.tc -- 2.17.1