d_path: prepend_path() is unlikely to return non-zero
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 17 May 2021 00:19:06 +0000 (20:19 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 19 May 2021 00:15:58 +0000 (20:15 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/d_path.c

index ba62987..8a9cd44 100644 (file)
@@ -187,7 +187,7 @@ char *__d_path(const struct path *path,
        DECLARE_BUFFER(b, buf, buflen);
 
        prepend(&b, "", 1);
-       if (prepend_path(path, root, &b) > 0)
+       if (unlikely(prepend_path(path, root, &b) > 0))
                return NULL;
        return extract_string(&b);
 }
@@ -199,7 +199,7 @@ char *d_absolute_path(const struct path *path,
        DECLARE_BUFFER(b, buf, buflen);
 
        prepend(&b, "", 1);
-       if (prepend_path(path, &root, &b) > 1)
+       if (unlikely(prepend_path(path, &root, &b) > 1))
                return ERR_PTR(-EINVAL);
        return extract_string(&b);
 }
@@ -396,7 +396,7 @@ SYSCALL_DEFINE2(getcwd, char __user *, buf, unsigned long, size)
                DECLARE_BUFFER(b, page, PATH_MAX);
 
                prepend(&b, "", 1);
-               if (prepend_path(&pwd, &root, &b) > 0)
+               if (unlikely(prepend_path(&pwd, &root, &b) > 0))
                        prepend(&b, "(unreachable)", 13);
                rcu_read_unlock();