fs: Fix error checking for d_hash_and_lookup()
authorWang Ming <machel@vivo.com>
Thu, 13 Jul 2023 12:05:42 +0000 (20:05 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Sep 2023 07:42:27 +0000 (09:42 +0200)
[ Upstream commit 0d5a4f8f775ff990142cdc810a84eae078589d27 ]

The d_hash_and_lookup() function returns error pointers or NULL.
Most incorrect error checks were fixed, but the one in int path_pts()
was forgotten.

Fixes: eedf265aa003 ("devpts: Make each mount of devpts an independent filesystem.")
Signed-off-by: Wang Ming <machel@vivo.com>
Message-Id: <20230713120555.7025-1-machel@vivo.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/namei.c

index 5b3865a..4248647 100644 (file)
@@ -2859,7 +2859,7 @@ int path_pts(struct path *path)
        dput(path->dentry);
        path->dentry = parent;
        child = d_hash_and_lookup(parent, &this);
-       if (!child)
+       if (IS_ERR_OR_NULL(child))
                return -ENOENT;
 
        path->dentry = child;