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 <[email protected]>
---
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
On Mon, 29 May 2023 14:51:10 +0800
sunliming <[email protected]> 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) <[email protected]>
Thank you!
>
> Signed-off-by: sunliming <[email protected]>
> ---
> 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
>
--
Masami Hiramatsu (Google) <[email protected]>