Re: [PATCH 3/7] Containers (V8): Add generic multi-subsystem API to containers

From: Paul Menage
Date: Sat Apr 07 2007 - 13:30:54 EST


On 4/6/07, Srivatsa Vaddagiri <vatsa@xxxxxxxxxx> wrote:
On Fri, Apr 06, 2007 at 04:32:24PM -0700, menage@xxxxxxxxxx wrote:
> +static int attach_task(struct container *cont, struct task_struct *tsk)
> {

[snip]

> + task_lock(tsk);

You need to check here if task state is PF_EXITING and fail with
-ESRCH if so? Otherwise we risk breaking refcount on
init_container_group.


Yes, I think you're right; I've now changed it to this in my tree:

task_lock(tsk);
if (tsk->flags & PF_EXITING) {
task_unlock(tsk);
put_container_group(newcg);
return -ESRCH;
}
rcu_assign_pointer(tsk->containers, newcg);
task_unlock(tsk);

Thanks,

Paul
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/