use kernfs_path_from_node

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c
index 4864fac..449ab3b 100644
--- a/fs/kernfs/dir.c
+++ b/fs/kernfs/dir.c
@@ -308,6 +308,17 @@
 	spin_unlock_irqrestore(&kernfs_rename_lock, flags);
 }
 
+char *kernfs_abs_path(struct kernfs_node *kn, char *buf, size_t buflen)
+{
+	struct kernfs_root *rkn = kernfs_root(kn);
+	int ret;
+
+	ret = kernfs_path_from_node(kn, rkn->kn, buf, buflen);
+	if (ret < 0 || ret >= buflen)
+		return NULL;
+	return buf;
+}
+
 /**
  * kernfs_get_parent - determine the parent node and pin it
  * @kn: kernfs_node of interest
diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
index c06c442..e0d7295 100644
--- a/include/linux/kernfs.h
+++ b/include/linux/kernfs.h
@@ -269,6 +269,7 @@
 size_t kernfs_path_len(struct kernfs_node *kn);
 int kernfs_path_from_node(struct kernfs_node *root_kn, struct kernfs_node *kn,
 			  char *buf, size_t buflen);
+char *kernfs_abs_path(struct kernfs_node *kn, char *buf, size_t buflen);
 char *kernfs_path(struct kernfs_node *kn, char *buf, size_t buflen);
 void pr_cont_kernfs_name(struct kernfs_node *kn);
 void pr_cont_kernfs_path(struct kernfs_node *kn);
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 18d874e..0305cd6 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -1593,7 +1593,8 @@
 		seq_puts(seq, ",clone_children");
 	if (strlen(root->name))
 		seq_show_option(seq, "name", root->name);
-	if (kernfs_path(kf_root->kn, buf, PATH_MAX))
+	if (kernfs_abs_path(kf_root->kn, buf, PATH_MAX) &&
+			strcmp(buf, "/") != 0)
 		seq_show_option(seq, "nsroot", buf);
 	return 0;
 }