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; |
