]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/nsfs.c
clocksource/drivers/timer-of: Handle of_irq_get_byname() result correctly
[karo-tx-linux.git] / fs / nsfs.c
index 323f492e0822dd3286365d5cdbe56c59ec2d5463..08127a2b8559ab9660b7dcced023770ff8588c59 100644 (file)
--- a/fs/nsfs.c
+++ b/fs/nsfs.c
@@ -53,7 +53,6 @@ static void nsfs_evict(struct inode *inode)
 static void *__ns_get_path(struct path *path, struct ns_common *ns)
 {
        struct vfsmount *mnt = nsfs_mnt;
-       struct qstr qname = { .name = "", };
        struct dentry *dentry;
        struct inode *inode;
        unsigned long d;
@@ -85,7 +84,7 @@ slow:
        inode->i_fop = &ns_file_operations;
        inode->i_private = ns;
 
-       dentry = d_alloc_pseudo(mnt->mnt_sb, &qname);
+       dentry = d_alloc_pseudo(mnt->mnt_sb, &empty_name);
        if (!dentry) {
                iput(inode);
                return ERR_PTR(-ENOMEM);
@@ -196,9 +195,11 @@ int ns_get_name(char *buf, size_t size, struct task_struct *task,
 {
        struct ns_common *ns;
        int res = -ENOENT;
+       const char *name;
        ns = ns_ops->get(task);
        if (ns) {
-               res = snprintf(buf, size, "%s:[%u]", ns_ops->name, ns->inum);
+               name = ns_ops->real_ns_name ? : ns_ops->name;
+               res = snprintf(buf, size, "%s:[%u]", name, ns->inum);
                ns_ops->put(ns);
        }
        return res;