summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorMarkus Metzger <markus.t.metzger@intel.com>2009-04-03 16:43:33 +0200
committerIngo Molnar <mingo@elte.hu>2009-04-07 13:36:10 +0200
commitcac94f979326212831c0ea44ed9ea1622b4f4e93 (patch)
tree716fbff126d60586fa1a1adf32b2ecf08b4d2a77 /kernel
parent2e8844e13ab73f1107aea4317a53ff5879f2e1d7 (diff)
downloadlwn-cac94f979326212831c0ea44ed9ea1622b4f4e93.tar.gz
lwn-cac94f979326212831c0ea44ed9ea1622b4f4e93.zip
x86, bts: fix race when bts tracer is removed
When the bts tracer is removed while the traced task is running, the write to clear the bts tracer pointer races with context switch code. Read the tracer once during a context switch. When a new tracer is installed, the bts tracer is set in the ds context before the tracer is initialized in order to claim the context for that tracer. This may result in write accesses using an uninitialized trace configuration when scheduling timestamps have been requested. Store active tracing flags separately and only set active flags after the tracing configuration has been initialized. Reviewed-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Markus Metzger <markus.t.metzger@intel.com> Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144548.881338000@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions