mntget, mntput, dput and pathput all test their arguments to see if they are NULL before taking any action, so testing for NULL in namespace_unlock is redundant. Remove the redundant checks making namespace_unlock a little shorter and easier to read. This also makes it possible for mnt_ex_mountpoint.mnt to be NULL allowing putting a dentry without a mount. This is will be needed in __detach_mounts when detaching already unmounted children, as part of the fix for MNT_DETACH on MNT_LOCKED mounts. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> --- fs/namespace.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fs/namespace.c b/fs/namespace.c index 9fae55f2242e..3769dbd040c1 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -1312,8 +1312,7 @@ static void namespace_unlock(void) /* undo decrements we'd done in umount_tree() */ list_for_each_entry(mnt, &head, mnt_list) - if (mnt->mnt_ex_mountpoint.mnt) - mntget(mnt->mnt_ex_mountpoint.mnt); + mntget(mnt->mnt_ex_mountpoint.mnt); up_write(&namespace_sem); @@ -1322,8 +1321,7 @@ static void namespace_unlock(void) while (!list_empty(&head)) { mnt = list_first_entry(&head, struct mount, mnt_list); list_del_init(&mnt->mnt_list); - if (mnt->mnt_ex_mountpoint.mnt) - path_put(&mnt->mnt_ex_mountpoint); + path_put(&mnt->mnt_ex_mountpoint); mntput(&mnt->mnt); } } -- 2.2.1 _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers