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

From: Namhyung Kim
Date: Mon Nov 04 2013 - 20:12:52 EST


Hi Oleg,

On Mon, 4 Nov 2013 15:35:17 +0100, Oleg Nesterov wrote:
> 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.

Ah, you're right. My eyes simply missed it. ;-)

Thanks,
Namhyung
--
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/