]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mnt: Fix the error check in __detach_mounts
authorEric W. Biederman <ebiederm@xmission.com>
Mon, 19 Jan 2015 17:48:45 +0000 (11:48 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 6 May 2015 20:03:51 +0000 (22:03 +0200)
commit f53e57975151f54ad8caa1b0ac8a78091cd5700a upstream.

lookup_mountpoint can return either NULL or an error value.
Update the test in __detach_mounts to test for an error value
to avoid pathological cases causing a NULL pointer dereferences.

The callers of __detach_mounts should prevent it from ever being
called on an unlinked dentry but don't take any chances.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/namespace.c

index 24de1e9b1d49847a7112acfc2059725365b51d0d..9e338951c4d03b16665d405c8cb58457a663ddc9 100644 (file)
@@ -1518,7 +1518,7 @@ void __detach_mounts(struct dentry *dentry)
 
        namespace_lock();
        mp = lookup_mountpoint(dentry);
-       if (!mp)
+       if (IS_ERR_OR_NULL(mp))
                goto out_unlock;
 
        lock_mount_hash();