diff options
-rw-r--r-- | kernel/events/core.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index 4d3124b39277..9fcb0944f071 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c | |||
@@ -4596,6 +4596,7 @@ void perf_event_comm(struct task_struct *task) | |||
4596 | struct perf_event_context *ctx; | 4596 | struct perf_event_context *ctx; |
4597 | int ctxn; | 4597 | int ctxn; |
4598 | 4598 | ||
4599 | rcu_read_lock(); | ||
4599 | for_each_task_context_nr(ctxn) { | 4600 | for_each_task_context_nr(ctxn) { |
4600 | ctx = task->perf_event_ctxp[ctxn]; | 4601 | ctx = task->perf_event_ctxp[ctxn]; |
4601 | if (!ctx) | 4602 | if (!ctx) |
@@ -4603,6 +4604,7 @@ void perf_event_comm(struct task_struct *task) | |||
4603 | 4604 | ||
4604 | perf_event_enable_on_exec(ctx); | 4605 | perf_event_enable_on_exec(ctx); |
4605 | } | 4606 | } |
4607 | rcu_read_unlock(); | ||
4606 | 4608 | ||
4607 | if (!atomic_read(&nr_comm_events)) | 4609 | if (!atomic_read(&nr_comm_events)) |
4608 | return; | 4610 | return; |