OSDN Git Service

mount: Retest MNT_LOCKED in do_umount
authorEric W. Biederman <ebiederm@xmission.com>
Mon, 22 Oct 2018 15:21:38 +0000 (10:21 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Thu, 8 Nov 2018 06:14:21 +0000 (00:14 -0600)
commit25d202ed820ee347edec0bf3bf553544556bf64b
treeb4cfb10402b67f208c0dfe070150d7a066d58f04
parentd2f007dbe7e4c9583eea6eb04d60001e85c6f1bd
mount: Retest MNT_LOCKED in do_umount

It was recently pointed out that the one instance of testing MNT_LOCKED
outside of the namespace_sem is in ksys_umount.

Fix that by adding a test inside of do_umount with namespace_sem and
the mount_lock held.  As it helps to fail fails the existing test is
maintained with an additional comment pointing out that it may be racy
because the locks are not held.

Cc: stable@vger.kernel.org
Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Fixes: 5ff9d8a65ce8 ("vfs: Lock in place mounts from more privileged users")
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/namespace.c