Messages in this thread | | | Subject | Re: [PATCH] events: Protect access via task_subsys_state_check() | From | Peter Zijlstra <> | Date | Mon, 22 Apr 2013 10:25:20 +0200 |
| |
On Fri, 2013-04-19 at 12:01 -0700, Paul E. McKenney wrote: > The following RCU splat indicates lack of RCU protection:
...
> This commit therefore adds the required RCU read-side critical section to > perf_event_comm(). > > Reported-by: Adam Jackson <ajax@redhat.com> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> > Tested-by: Gustavo Luiz Duarte <gusld@br.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
> diff --git a/kernel/events/core.c b/kernel/events/core.c > index b0cd865..8db9551 100644 > --- a/kernel/events/core.c > +++ b/kernel/events/core.c > @@ -4593,6 +4593,7 @@ void perf_event_comm(struct task_struct *task) > struct perf_event_context *ctx; > int ctxn; > > + rcu_read_lock(); > for_each_task_context_nr(ctxn) { > ctx = task->perf_event_ctxp[ctxn]; > if (!ctx) > @@ -4600,6 +4601,7 @@ void perf_event_comm(struct task_struct *task) > > perf_event_enable_on_exec(ctx); > } > + rcu_read_unlock(); > > if (!atomic_read(&nr_comm_events)) > return; >
| |