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)
committerChristian Brauner <brauner@kernel.org>
Fri, 14 Jul 2023 15:01:23 +0000 (17:01 +0200)
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>
fs/namei.c

index e56ff39..2bae29e 100644 (file)
@@ -2890,7 +2890,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;