lkml.org 
[lkml]   [2013]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] events: Protect access via task_subsys_state_check()
From
Date
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;
>




\
 
 \ /
  Last update: 2013-04-22 11:01    [W:0.039 / U:1.196 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site