summaryrefslogtreecommitdiffstats
path: root/include/linux/namei.h
diff options
context:
space:
mode:
authorAl Viro2017-04-15 23:31:22 +0200
committerAl Viro2017-04-21 20:05:36 +0200
commit4f757f3cbf54edef7b75c68d6d6d2f1a0ca08d2e (patch)
treeea39abd6e1941de602264b24ee18c82f12c01c04 /include/linux/namei.h
parentpath_init(): don't bother with checking MAY_EXEC for LOOKUP_ROOT (diff)
downloadkernel-qcow2-linux-4f757f3cbf54edef7b75c68d6d6d2f1a0ca08d2e.tar.gz
kernel-qcow2-linux-4f757f3cbf54edef7b75c68d6d6d2f1a0ca08d2e.tar.xz
kernel-qcow2-linux-4f757f3cbf54edef7b75c68d6d6d2f1a0ca08d2e.zip
make sure that mntns_install() doesn't end up with referral for root
new flag: LOOKUP_DOWN. If the starting point is overmounted, cross into whatever's mounted on top, triggering referrals et.al. Use that instead of follow_down_one() loop in mntns_install(), handle errors properly. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux/namei.h')
-rw-r--r--include/linux/namei.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/namei.h b/include/linux/namei.h
index f29abda31e6d..8b4794e83196 100644
--- a/include/linux/namei.h
+++ b/include/linux/namei.h
@@ -44,6 +44,7 @@ enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT, LAST_BIND};
#define LOOKUP_JUMPED 0x1000
#define LOOKUP_ROOT 0x2000
#define LOOKUP_EMPTY 0x4000
+#define LOOKUP_DOWN 0x8000
extern int path_pts(struct path *path);