Re: [PATCH 2/5] tracing: Move is_good_name() from trace_probe.h to trace.h

From: Masami Hiramatsu
Date: Sat Oct 10 2020 - 19:04:04 EST


On Fri, 9 Oct 2020 10:17:08 -0500
Tom Zanussi <zanussi@xxxxxxxxxx> wrote:

> is_good_name() is useful for other trace infrastructure, such as
> synthetic events, so make it available via trace.h.
>

This looks good to me.

Acked-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>

Thanks!

> Signed-off-by: Tom Zanussi <zanussi@xxxxxxxxxx>
> ---
> kernel/trace/trace.h | 13 +++++++++++++
> kernel/trace/trace_probe.h | 13 -------------
> 2 files changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
> index 5b0e797cacdd..a94852838491 100644
> --- a/kernel/trace/trace.h
> +++ b/kernel/trace/trace.h
> @@ -19,6 +19,7 @@
> #include <linux/glob.h>
> #include <linux/irq_work.h>
> #include <linux/workqueue.h>
> +#include <linux/ctype.h>
>
> #ifdef CONFIG_FTRACE_SYSCALLS
> #include <asm/unistd.h> /* For NR_SYSCALLS */
> @@ -2090,4 +2091,16 @@ static __always_inline void trace_iterator_reset(struct trace_iterator *iter)
> iter->pos = -1;
> }
>
> +/* Check the name is good for event/group/fields */
> +static inline bool is_good_name(const char *name)
> +{
> + if (!isalpha(*name) && *name != '_')
> + return false;
> + while (*++name != '\0') {
> + if (!isalpha(*name) && !isdigit(*name) && *name != '_')
> + return false;
> + }
> + return true;
> +}
> +
> #endif /* _LINUX_KERNEL_TRACE_H */
> diff --git a/kernel/trace/trace_probe.h b/kernel/trace/trace_probe.h
> index 04d00987da69..2f703a20c724 100644
> --- a/kernel/trace/trace_probe.h
> +++ b/kernel/trace/trace_probe.h
> @@ -16,7 +16,6 @@
> #include <linux/tracefs.h>
> #include <linux/types.h>
> #include <linux/string.h>
> -#include <linux/ctype.h>
> #include <linux/ptrace.h>
> #include <linux/perf_event.h>
> #include <linux/kprobes.h>
> @@ -348,18 +347,6 @@ bool trace_probe_match_command_args(struct trace_probe *tp,
> #define trace_probe_for_each_link_rcu(pos, tp) \
> list_for_each_entry_rcu(pos, &(tp)->event->files, list)
>
> -/* Check the name is good for event/group/fields */
> -static inline bool is_good_name(const char *name)
> -{
> - if (!isalpha(*name) && *name != '_')
> - return false;
> - while (*++name != '\0') {
> - if (!isalpha(*name) && !isdigit(*name) && *name != '_')
> - return false;
> - }
> - return true;
> -}
> -
> #define TPARG_FL_RETURN BIT(0)
> #define TPARG_FL_KERNEL BIT(1)
> #define TPARG_FL_FENTRY BIT(2)
> --
> 2.17.1
>


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>