Files
ubports_kernel_google_msm/kernel
Frederic Weisbecker 07695fa04e tracing/ftrace: fix a race condition in sched_switch tracer
Impact: fix race condition in sched_switch tracer

This patch fixes a race condition in the sched_switch tracer. If
several tasks (IE: concurrent initcalls) are playing with
tracing_start_cmdline_record() and tracing_stop_cmdline_record(), the
following situation could happen:

_ Task A and B are using the same tracepoint probe. Task A holds it.
  Task B is sleeping and doesn't hold it.

_ Task A frees the sched tracer, then sched_ref is decremented to 0.

_ Task A is preempted and hadn't yet unregistered its tracepoint
  probe, then B runs.

_ B increments sched_ref, sees it's 1 and then guess it has to
  register its probe. But it has not been freed by task A.

_ A lot of bad things can happen after that...

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-11-04 17:14:04 +01:00
..
2008-10-22 07:37:17 +02:00
2008-10-26 09:38:17 -07:00
2008-10-16 11:21:30 -07:00
2008-09-14 16:25:35 +02:00
2008-07-28 14:37:38 +02:00
2008-08-13 12:55:10 +02:00
2008-10-28 11:19:07 +01:00
2008-09-02 19:21:40 -07:00
2008-10-20 08:52:39 -07:00
2008-10-21 15:59:53 +02:00
2008-10-24 12:51:03 +02:00
2008-10-16 11:21:31 -07:00
2008-10-16 11:21:51 -07:00
2008-10-16 11:21:47 -07:00
2008-10-16 11:21:31 -07:00