lkml.org 
[lkml]   [2009]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [patch 1/9] sys: Fix missing rcu protection for __task_cred() access
    From
    Date
    > As a rough rule of thumb, any dereference of an RCU-protected
    > pointer must be covered by rcu_read_lock() or rcu_read_lock_bh()
    > or by the appropriate update-side lock.

    Does this mean that we need both rcu_read_lock() *and*
    read_lock(&tasklist_lock) when calling find_task_by_vpid() because pid_task()
    uses rcu_dereference() and find_pid_ns() uses hlist_for_each_entry_rcu ?

    378 /*
    379 * Must be called under rcu_read_lock() or with tasklist_lock read-held.
    380 */
    381 struct task_struct *find_task_by_pid_ns(pid_t nr, struct pid_namespace *ns)
    382 {
    383 return pid_task(find_pid_ns(nr, ns), PIDTYPE_PID);
    384 }
    385
    386 struct task_struct *find_task_by_vpid(pid_t vnr)
    387 {
    388 return find_task_by_pid_ns(vnr, current->nsproxy->pid_ns);
    389 }


    \
     
     \ /
      Last update: 2009-12-10 03:33    [W:0.024 / U:59.180 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site