Re: [PATCH 04/17] cgroup: create directory before linking whilecreating a new cgroup

From: Tejun Heo
Date: Wed Nov 14 2012 - 14:04:02 EST


Hello, Li.

On Wed, Nov 14, 2012 at 11:20:47AM +0800, Li Zefan wrote:
> > It also removes the need to check whether cgroup->dentry is %NULL in
> > cgroup_path. If a cgroup is visible, its dentry is guaranteed to be
> > visible too.
>
> I'm afraid this isn't safe.
>
> The cgroup is visible to a controller soon after ss->create(), and then
> the controller might call cgroup_path() while cgrp->dentry is still NULL.

Hmmm... I can't find any case where ss->create() is calling
cgroup_path(). Do you remember which one that was?

> This can happen for cpu cgroup I think, and in fact the NULL check was
> added for this reason IIRC.

Then, I think we better move the dentry assignment further up. It's
really silly to be unable to answer "what's this new cgroup's name?"
for any callback really. Will update accordingly.

Thanks.

--
tejun
--
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/