diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2015-01-15 17:49:26 +0000 |
---|---|---|
committer | Simon Shields <keepcalm444@gmail.com> | 2016-03-15 00:31:24 -0800 |
commit | 1ea0519741949d2d1030a42383665fa6353f047e (patch) | |
tree | 272ac765032779dd2eea9a03a2efef49268834ed /fs/pnode.h | |
parent | b9ff9ff44ca2b2b348a27081c8e0bb686dd094fa (diff) | |
download | kernel_samsung_smdk4412-1ea0519741949d2d1030a42383665fa6353f047e.tar.gz kernel_samsung_smdk4412-1ea0519741949d2d1030a42383665fa6353f047e.tar.bz2 kernel_samsung_smdk4412-1ea0519741949d2d1030a42383665fa6353f047e.zip |
vfs: more mnt_parent cleanups
a) mount --move is checking that ->mnt_parent is non-NULL before
looking if that parent happens to be shared; ->mnt_parent is never
NULL and it's not even an misspelled !mnt_has_parent()
b) pivot_root open-codes is_path_reachable(), poorly.
c) so does path_is_under(), while we are at it.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
(backported from commit afac7cba7ed31968a95e181dc25e204e45009ea8)
CVE-2014-7970
BugLink: http://bugs.launchpad.net/bugs/1383356
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Change-Id: I6b2297f46388f135c1b760a37d45efc0e33542db
Diffstat (limited to 'fs/pnode.h')
-rw-r--r-- | fs/pnode.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/pnode.h b/fs/pnode.h index e4d24fad0b4..a602ec45537 100644 --- a/fs/pnode.h +++ b/fs/pnode.h @@ -36,4 +36,6 @@ int propagate_umount(struct list_head *); int propagate_mount_busy(struct vfsmount *, int); void mnt_release_group_id(struct vfsmount *); int get_dominating_id(struct vfsmount *mnt, const struct path *root); +bool is_path_reachable(struct vfsmount *, struct dentry *, + const struct path *root); #endif /* _LINUX_PNODE_H */ |