summaryrefslogtreecommitdiffstats
path: root/kernel/irq_work.c
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2010-11-09 19:01:43 +0100
committerIngo Molnar <mingo@elte.hu>2010-11-18 13:18:46 +0100
commit8882135bcd332f294df5455747ea43ba9e6f77ad (patch)
tree758f26d26750fd5007e885cc28125f7c1fa24ca6 /kernel/irq_work.c
parentMerge branch 'perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/f... (diff)
downloadlinux-8882135bcd332f294df5455747ea43ba9e6f77ad.tar.xz
linux-8882135bcd332f294df5455747ea43ba9e6f77ad.zip
perf: Fix owner-list vs exit
Oleg noticed that a perf-fd keeping a reference on the creating task leads to a few funny side effects. There's two different aspects to this: - kernel based perf-events, these should not take out a reference on the creating task and appear on the task's event list since they're not bound to fds nor visible to userspace. - fork() and pthread_create(), these can lead to the creating task dying (and thus the task's event-list becomming useless) but keeping the list and ref alive until the event is closed. Combined they lead to malfunction of the ptrace hw_tracepoints. Cure this by not considering kernel based perf_events for the owner-list and destroying the owner-list when the owner dies. Reported-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: Oleg Nesterov <oleg@redhat.com> LKML-Reference: <1289576883.2084.286.camel@laptop> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/irq_work.c')
0 files changed, 0 insertions, 0 deletions