On 09/02, Eric W. Biederman wrote:
>
> @@ -900,10 +900,9 @@ static struct task_struct *dup_task_struct(struct 
> task_struct *orig, int node)
> -     /*
> -      * One for us, one for whoever does the "release_task()" (usually
> -      * parent)
> -      */
> +     /* One for the user space visible state that goes away when reaped. */
> +     refcount_set(&tsk->rcu_users, 1);

forgot to mention...

This is minor, but we don't really need to initialize child->rcu_users in
dup_task_struct(), we can just add

        .rcu_users = REFCOUNT_INIT(2),

into init_task's initializer.

Until we have a refcount_inc(task->rcu_users) user, of course.

Oleg.

Reply via email to