perf_counter: fix counter freeing logic
authorIngo Molnar <mingo@elte.hu>
Sun, 17 May 2009 09:08:41 +0000 (11:08 +0200)
committerIngo Molnar <mingo@elte.hu>
Tue, 19 May 2009 22:22:24 +0000 (00:22 +0200)
commit33b2fb303fe7f6b08bbb32f708e67b96eaa94a7a
tree32ab4cb3cca6c61a2d6cf351bb8f732045464e28
parentb68f1d2e7aa21029d73c7d453a8046e95d351740
perf_counter: fix counter freeing logic

Fix counter lifetime bugs which explain the crashes reported by
Marcelo Tosatti and Arnaldo Carvalho de Melo.

The new rule is: flushing + freeing is only done for a task's
own counters, never for other tasks.

[ Impact: fix crashes/lockups with inherited counters ]

Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Reported-by: Marcelo Tosatti <mtosatti@redhat.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/exit.c
kernel/perf_counter.c