[PATCH 0/2] tracing: Fix print_fields() and use best filter

From: Beau Belgrave
Date: Wed Apr 19 2023 - 17:41:53 EST


When using user_events along with the new print_fields() functionality
a few issues were discovered. When printing out fields, the __rel_loc
field types were printing out the wrong array values. Also, user_events
wasn't setting the best filter type, so __rel_loc data was marked as
FILTER_OTHER vs FILTER_RDYN_STRING when chars were used. This resulted
in strings being printed out as array of bytes vs a string.

After applying this series user_events will output strings correctly
for __rel_loc via /sys/kernel/tracing/trace outputs. All events that
utilize print_fields() will print the correct array/string for
__data_loc and __rel_loc data, when it's enabled.

Beau Belgrave (2):
tracing/user_events: Set event filter_type from type
tracing: Fix print_fields() for __dyn_loc/__rel_loc

kernel/trace/trace_events_user.c | 3 +++
kernel/trace/trace_output.c | 10 ++++++----
2 files changed, 9 insertions(+), 4 deletions(-)


base-commit: 88fe1ec75fcb296579e05eaf3807da3ee83137e4
--
2.25.1