Making sure that something like a referral point won't end up as pwd or root. The main part is the last commit (fixing mntns_install()); that one fixes a hard-to-hit race. fchdir() one is making fchdir(2) a bit more robust - it should be impossible to get opened files (even O_PATH ones) for referral points in the first place, so the existing checks are OK, but checking the same thing as in chdir(2) is just as cheap. path_init() commit removes a redundant check that shouldn't have been there in the first place. The following changes since commit 85128b2be6738fe36c224995c5ee80fe80fbb1b5: fix nfs O_DIRECT advancing iov_iter too much (2017-04-17 14:23:20 -0400) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.sane_pwd for you to fetch changes up to 4f757f3cbf54edef7b75c68d6d6d2f1a0ca08d2e: make sure that mntns_install() doesn't end up with referral for root (2017-04-21 14:05:36 -0400) ---------------------------------------------------------------- Al Viro (3): make sure that fchdir() won't accept referral points, etc. path_init(): don't bother with checking MAY_EXEC for LOOKUP_ROOT make sure that mntns_install() doesn't end up with referral for root fs/namei.c | 48 ++++++++++++++++++++++++++++++++++++++++-------- fs/namespace.c | 18 +++++++++++------- fs/open.c | 9 +++------ include/linux/namei.h | 1 + 4 files changed, 55 insertions(+), 21 deletions(-)