[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20151207153911.GF9175@mtj.duckdns.org>
Date: Mon, 7 Dec 2015 10:39:11 -0500
From: Tejun Heo <tj@...nel.org>
To: "Serge E. Hallyn" <serge.hallyn@...ntu.com>
Cc: serge@...lyn.com, linux-kernel@...r.kernel.org,
adityakali@...gle.com, linux-api@...r.kernel.org,
containers@...ts.linux-foundation.org, cgroups@...r.kernel.org,
lxc-devel@...ts.linuxcontainers.org, akpm@...ux-foundation.org,
ebiederm@...ssion.com
Subject: Re: [PATCH 7/8] cgroup: mount cgroupns-root when inside non-init
cgroupns
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists