diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2017-04-15 23:31:22 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2017-04-21 20:05:36 +0200 |
commit | 4f757f3cbf54edef7b75c68d6d6d2f1a0ca08d2e (patch) | |
tree | ea39abd6e1941de602264b24ee18c82f12c01c04 /include | |
parent | path_init(): don't bother with checking MAY_EXEC for LOOKUP_ROOT (diff) | |
download | linux-4f757f3cbf54edef7b75c68d6d6d2f1a0ca08d2e.tar.xz 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')
-rw-r--r-- | include/linux/namei.h | 1 |
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); |