]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tracing: Add __string_len() example
authorSteven Rostedt (Google) <rostedt@goodmis.org>
Fri, 23 Feb 2024 20:28:27 +0000 (15:28 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 May 2025 05:50:36 +0000 (07:50 +0200)
[ Upstream commit dd6ae6d90a84d4bec49887c7aa2b22aa1c8b2897 ]

There's no example code that uses __string_len(), and since the sample
code is used for testing the event logic, add a use case.

Link: https://lore.kernel.org/linux-trace-kernel/20240223152827.5f9f78e2@gandalf.local.home
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Stable-dep-of: ea8d7647f9dd ("tracing: Verify event formats that have "%*p.."")
Signed-off-by: Sasha Levin <sashal@kernel.org>
samples/trace_events/trace-events-sample.h

index 1c6b843b8c4eeb254e3a67960a5e6129fbcdbff5..04541dfbd44cc5213ef96422dc3a6e35172e645d 100644 (file)
@@ -302,6 +302,7 @@ TRACE_EVENT(foo_bar,
                __bitmask(      cpus,   num_possible_cpus()     )
                __cpumask(      cpum                            )
                __vstring(      vstr,   fmt,    va              )
+               __string_len(   lstr,   foo,    bar / 2 < strlen(foo) ? bar / 2 : strlen(foo) )
        ),
 
        TP_fast_assign(
@@ -310,12 +311,13 @@ TRACE_EVENT(foo_bar,
                memcpy(__get_dynamic_array(list), lst,
                       __length_of(lst) * sizeof(int));
                __assign_str(str, string);
+               __assign_str(lstr, foo);
                __assign_vstr(vstr, fmt, va);
                __assign_bitmask(cpus, cpumask_bits(mask), num_possible_cpus());
                __assign_cpumask(cpum, cpumask_bits(mask));
        ),
 
-       TP_printk("foo %s %d %s %s %s %s (%s) (%s) %s", __entry->foo, __entry->bar,
+       TP_printk("foo %s %d %s %s %s %s %s (%s) (%s) %s", __entry->foo, __entry->bar,
 
 /*
  * Notice here the use of some helper functions. This includes:
@@ -359,7 +361,8 @@ TRACE_EVENT(foo_bar,
                  __print_array(__get_dynamic_array(list),
                                __get_dynamic_array_len(list) / sizeof(int),
                                sizeof(int)),
-                 __get_str(str), __get_bitmask(cpus), __get_cpumask(cpum),
+                 __get_str(str), __get_str(lstr),
+                 __get_bitmask(cpus), __get_cpumask(cpum),
                  __get_str(vstr))
 );