On Fri, 5 Sep 2025 23:58:44 +0900 "Masami Hiramatsu (Google)" <mhiramat@xxxxxxxxxx> 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) <mhiramat@xxxxxxxxxx>