Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1316680
| From | Peter Zijlstra <peterz@infradead.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [tip:perf/urgent] perf: Fix perf_event_exit_task() race |
| Date | 2016-01-25 14:10 +0100 |
| Message-ID | <qUP47-4jX-35@gated-at.bofh.it> (permalink) |
| References | <qUP47-4jX-37@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
--- Subject: perf: Fix orphan hole From: Peter Zijlstra <peterz@infradead.org> Date: Fri Jan 22 22:13:41 CET 2016 We should set event->owner before we install the event, otherwise there is a hole where the target task can fork() and we'll not inherit the event because it thinks the event is orphaned. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> --- kernel/events/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -8489,6 +8489,8 @@ SYSCALL_DEFINE5(perf_event_open, perf_event__header_size(event); perf_event__id_header_size(event); + event->owner = current; + perf_install_in_context(ctx, event, event->cpu); perf_unpin_context(ctx); @@ -8498,8 +8500,6 @@ SYSCALL_DEFINE5(perf_event_open, put_online_cpus(); - event->owner = current; - mutex_lock(¤t->perf_event_mutex); list_add_tail(&event->owner_entry, ¤t->perf_event_list); mutex_unlock(¤t->perf_event_mutex);
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
Re: [tip:perf/urgent] perf: Fix perf_event_exit_task() race Peter Zijlstra <peterz@infradead.org> - 2016-01-25 14:10 +0100
csiph-web