When A registering user event from dyn_events has no argments, it will pass the matching check, regardless of whether there is a user event with the same name and arguments. Add the matching check when the arguments of registering user event is null.
Signed-off-by: sunliming sunliming@kylinos.cn --- kernel/trace/trace_events_user.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c index e90161294698..0d91dac206ff 100644 --- a/kernel/trace/trace_events_user.c +++ b/kernel/trace/trace_events_user.c @@ -1712,6 +1712,8 @@ static bool user_event_match(const char *system, const char *event,
if (match && argc > 0) match = user_fields_match(user, argc, argv); + else if (match && argc == 0) + match = list_empty(&user->fields);
return match; }
On Mon, 29 May 2023 14:51:10 +0800 sunliming sunliming@kylinos.cn wrote:
When A registering user event from dyn_events has no argments, it will pass the matching check, regardless of whether there is a user event with the same name and arguments. Add the matching check when the arguments of registering user event is null.
OK, since the user_events doesn't support multi-definitions on the same name event, this should be checked.
Acked-by: Masami Hiramatsu (Google) mhiramat@kernel.org
Thank you!
Signed-off-by: sunliming sunliming@kylinos.cn
kernel/trace/trace_events_user.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c index e90161294698..0d91dac206ff 100644 --- a/kernel/trace/trace_events_user.c +++ b/kernel/trace/trace_events_user.c @@ -1712,6 +1712,8 @@ static bool user_event_match(const char *system, const char *event, if (match && argc > 0) match = user_fields_match(user, argc, argv);
- else if (match && argc == 0)
match = list_empty(&user->fields);
return match; } -- 2.25.1
linux-kselftest-mirror@lists.linaro.org