On Fri,  5 Sep 2025 23:58:44 +0900
"Masami Hiramatsu (Google)" <[email protected]> wrote:

> +static void wprobe_unregister_trigger(char *glob,
> +                                   struct event_trigger_data *data,
> +                                   struct trace_event_file *file)
> +{
> +     lockdep_assert_held(&event_mutex);
> +
> +     if (wprobe_trigger_exist_same(data, file)) {
> +             list_del_rcu(&data->list);
> +             trace_event_trigger_enable_disable(file, 0);
> +             update_cond_flag(file);
> +     }
> +
> +     if (data && data->ops->free)
> +             data->ops->free(data);
> +}

This function is wrongly free the passed trigger_data instead of
trigger_data on the event. The passed @data is a dummy data to
find the actual data from @file.
Thanks Jinchao to find it!

Thank you,

-- 
Masami Hiramatsu (Google) <[email protected]>

Reply via email to