On Wed, 2013-07-31 at 22:40 +0200, Oleg Nesterov wrote: > On 07/31, Steven Rostedt wrote: > > > > On Wed, 2013-07-03 at 23:33 -0400, Steven Rostedt wrote: > > > The above will corrupt the kprobe system, as the write to the enable > > > file will happen after the kprobe was deleted. > > > > Oleg, > > > > The above no longer triggers the bug due to your changes. The race is > > much tighter now > > Yes, the changelog should be updated... > > > and requires a process with the enable file opened and > > races with a write to enable it where the removal of the trace file > > checks the trace disabled, sees that it is, continues, but then the > > write enables it just as it gets deleted. > > This should be fine. Either event_remove() path takes event_mutex > first and then ->write() fails, or ftrace_event_enable_disable() > actually disables this even successfully.
Actually I meant while in unregister_trace_probe(), it gets by the trace_probe_is_enabled() part first, then the write succeeds (as the event_mutex isn't taken till unregister_probe_event()). The the unregister_probe_event fails, but the tp was freed. The event files still reference the tp and this is where a crash can happen without this patch set. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

