Re: [PATCH v4 1/3] tracing: eprobe: remove duplicate is_good_name() operation

From: Linyu Yuan
Date: Mon Jun 13 2022 - 20:48:51 EST


hi Tom,

On 6/14/2022 5:01 AM, Tom Zanussi wrote:
Hi Linhu,

On Thu, 2022-06-02 at 20:10 +0800, Linyu Yuan wrote:
traceprobe_parse_event_name() already validate group and event name,
there is no need to call is_good_name() after it.

Signed-off-by: Linyu Yuan <quic_linyyuan@xxxxxxxxxxx>
---
v2: drop v1 change as it is NACK.
    add it to remove duplicate is_good_name().
v3: move it as first patch.
v4: no change

 kernel/trace/trace_eprobe.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/kernel/trace/trace_eprobe.c
b/kernel/trace/trace_eprobe.c
index 7d44785..17d64e3 100644
--- a/kernel/trace/trace_eprobe.c
+++ b/kernel/trace/trace_eprobe.c
@@ -878,16 +878,12 @@ static int __trace_eprobe_create(int argc,
const char *argv[])
                sanitize_event_name(buf1);
                event = buf1;
        }
-       if (!is_good_name(event) || !is_good_name(group))
-               goto parse_error;
traceprobe_parse_event_name() is only called if (event). In the
!event case, wouldn't the is_good_name() checks still be needed (since
in that case buf1 is assigned to event)?

when user input no  event name, it will generate event name from second  SYSTEM.EVENT,

and it will validate with following traceprobe_parse_event_name().


(

if you agree, i will send a new version to update a minor issue in second patch,


        sys_event = argv[1];
-       ret = traceprobe_parse_event_name(&sys_event, &sys_name, buf2,
-                                         sys_event - argv[1]);
-       if (ret || !sys_name)
+       ret = traceprobe_parse_event_name(&sys_event, &sys_name, buf2, 0);
+       if (!sys_event || !sys_name)
                goto parse_error;

)


        sys_event = argv[1];
        ret = traceprobe_parse_event_name(&sys_event, &sys_name,
buf2,
                                          sys_event - argv[1]);
        if (ret || !sys_name)
                goto parse_error;
-       if (!is_good_name(sys_event) || !is_good_name(sys_name))
-               goto parse_error;
I agree this one isn't needed.

Thanks,

Tom

        mutex_lock(&event_mutex);
        event_call = find_and_get_event(sys_name, sys_event);