linux/kernel/events
Peter Zijlstra f73e22ab45 perf: Fix races in computing the header sizes
There are two races with the current code:

 - Another event can join the group and compute a larger header_size
   concurrently, if the smaller store wins we'll have an incorrect
   header_size set.

 - We compute the header_size after the event becomes active,
   therefore its possible to use the size before its computed.

Remedy the first by moving the computation inside the ctx::mutex lock,
and the second by placing it _before_ perf_install_in_context().

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2015-09-18 09:20:26 +02:00
..
callchain.c
core.c perf: Fix races in computing the header sizes 2015-09-18 09:20:26 +02:00
hw_breakpoint.c
internal.h perf: Fix AUX buffer refcounting 2015-07-06 14:08:30 +02:00
Makefile
ring_buffer.c perf/ring-buffer: Clarify the use of page::private for high-order AUX allocations 2015-08-12 11:43:20 +02:00
uprobes.c uprobes: Fix the waitqueue_active() check in xol_free_insn_slot() 2015-07-31 10:38:07 +02:00