diff options
Diffstat (limited to 'fs/namespace.c')
| -rw-r--r-- | fs/namespace.c | 20 | 
1 files changed, 11 insertions, 9 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index 6d3a1963879b..cfc6d4448aa5 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -1048,15 +1048,12 @@ static int show_mountinfo(struct seq_file *m, void *v)  	if (err)  		goto out;  	seq_putc(m, ' '); -	seq_path_root(m, &mnt_path, &root, " \t\n\\"); -	if (root.mnt != p->root.mnt || root.dentry != p->root.dentry) { -		/* -		 * Mountpoint is outside root, discard that one.  Ugly, -		 * but less so than trying to do that in iterator in a -		 * race-free way (due to renames). -		 */ -		return SEQ_SKIP; -	} + +	/* mountpoints outside of chroot jail will give SEQ_SKIP on this */ +	err = seq_path_root(m, &mnt_path, &root, " \t\n\\"); +	if (err) +		goto out; +  	seq_puts(m, mnt->mnt_flags & MNT_READONLY ? " ro" : " rw");  	show_mnt_opts(m, mnt); @@ -2776,3 +2773,8 @@ void kern_unmount(struct vfsmount *mnt)  	}  }  EXPORT_SYMBOL(kern_unmount); + +bool our_mnt(struct vfsmount *mnt) +{ +	return check_mnt(mnt); +}  | 
