Re: [PATCH 10/13] tracing/uprobes: Fetch args before reserving aring buffer

From: Oleg Nesterov
Date: Mon Nov 04 2013 - 09:34:07 EST


Hi Namhyung,

On 11/04, Namhyung Kim wrote:
>
> >>
> >> + if (atomic_dec_and_test(&uprobe_buffer_ref)) {
> >> + free_percpu(uprobe_cpu_buffer);
> >> + uprobe_cpu_buffer = NULL;
> >> + }
> >> +
> >> WARN_ON(!uprobe_filter_is_empty(&tu->filter));
> >
> > Do we really need atomic_t? probe_event_enable/disable is called under
> > event_mutex and we rely on this fact anyway.
>
> Looking at the code, it seems probe_event_enable/disable() is called
> without event_mutex when it called from sys_perf_event_open().

Where?

__ftrace_set_clr_event(), perf_trace_init() or perf_trace_destroy()
hold event_mutex. We rely on this fact anyway.

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/