Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75509fd8 authored by Eric W. Biederman's avatar Eric W. Biederman
Browse files

nsfs: Add a show_path method to fix mountinfo



Today mountinfo displays a very unhelpful "/" for nsfs files.  Add a
show_path method returning the same string as ns_dname.  This results
in a bind mount of /proc/<pid>/ns/net showing up in /proc/<pid>/mountinfo as
"net:[1234...]" instead of "/".

Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
parent 77b1a97d
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
#include <linux/proc_ns.h>
#include <linux/magic.h>
#include <linux/ktime.h>
#include <linux/seq_file.h>

static struct vfsmount *nsfs_mnt;

@@ -136,9 +137,18 @@ struct file *proc_ns_fget(int fd)
	return ERR_PTR(-EINVAL);
}

static int nsfs_show_path(struct seq_file *seq, struct dentry *dentry)
{
	struct inode *inode = d_inode(dentry);
	const struct proc_ns_operations *ns_ops = dentry->d_fsdata;

	return seq_printf(seq, "%s:[%lu]", ns_ops->name, inode->i_ino);
}

static const struct super_operations nsfs_ops = {
	.statfs = simple_statfs,
	.evict_inode = nsfs_evict,
	.show_path = nsfs_show_path,
};
static struct dentry *nsfs_mount(struct file_system_type *fs_type,
			int flags, const char *dev_name, void *data)