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]>