[git pull] work.sane_pwd
From: Al Viro
Date: Thu May 11 2017 - 21:14:54 EST
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(-)