Re: [PATCH 7/8] cgroup: mount cgroupns-root when inside non-init cgroupns

From: Tejun Heo
Date: Mon Dec 07 2015 - 10:39:24 EST


Hello, Serge.

On Thu, Dec 03, 2015 at 04:47:06PM -0600, Serge E. Hallyn wrote:
...
> + dentry = dget(sb->s_root);
> + if (!kn->parent) // this is the root
> + return dentry;
> +
> + knparent = find_kn_ancestor_below(kn, NULL);
> + BUG_ON(!knparent);

Doing WARN_ON() and returning failure is better, I think. Failing ns
mount is an okay failure mode and a lot better than crashing the
system. Also, how about find_next_ancestor() for the name of the
function?

> + do {
> + struct dentry *dtmp;
> + struct kernfs_node *kntmp;
> +
> + if (kn == knparent)
> + return dentry;
> + kntmp = find_kn_ancestor_below(kn, knparent);
> + BUG_ON(!kntmp);
> + dtmp = lookup_one_len(kntmp->name, dentry, strlen(kntmp->name));
> + dput(dentry);
> + if (IS_ERR(dtmp))
> + return dtmp;
> + knparent = kntmp;
> + dentry = dtmp;
> + } while (1);

Other than the nitpicks, looks good to me.

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/