The strndup_user() function returns error pointers on error.  It never
returns NULL.  Fix the checks including the commented out code.

Fixes: e0750d947352 ("bcachefs: Initial commit")
Signed-off-by: Dan Carpenter <[email protected]>
---
 fs/bcachefs/chardev.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/fs/bcachefs/chardev.c b/fs/bcachefs/chardev.c
index e5e9fddddfb5..5556bb2dc539 100644
--- a/fs/bcachefs/chardev.c
+++ b/fs/bcachefs/chardev.c
@@ -86,8 +86,8 @@ static long bch2_ioctl_assemble(struct bch_ioctl_assemble 
__user *user_arg)
                devs[i] = strndup_user((const char __user *)(unsigned long)
                                       user_devs[i],
                                       PATH_MAX);
-               if (!devs[i]) {
-                       ret = -ENOMEM;
+               if (IS_ERR(devs[i])) {
+                       ret = PTR_ERR(devs[i]);
                        goto err;
                }
        }
@@ -117,8 +117,8 @@ static long bch2_ioctl_incremental(struct 
bch_ioctl_incremental __user *user_arg
                return -EINVAL;
 
        path = strndup_user((const char __user *)(unsigned long) arg.dev, 
PATH_MAX);
-       if (!path)
-               return -ENOMEM;
+       if (IS_ERR(path))
+               return PTR_ERR(path);
 
        err = bch2_fs_open_incremental(path);
        kfree(path);
@@ -189,8 +189,8 @@ static long bch2_ioctl_disk_add(struct bch_fs *c, struct 
bch_ioctl_disk arg)
                return -EINVAL;
 
        path = strndup_user((const char __user *)(unsigned long) arg.dev, 
PATH_MAX);
-       if (!path)
-               return -ENOMEM;
+       if (IS_ERR(path))
+               return PTR_ERR(path);
 
        ret = bch2_dev_add(c, path);
        kfree(path);
@@ -231,8 +231,8 @@ static long bch2_ioctl_disk_online(struct bch_fs *c, struct 
bch_ioctl_disk arg)
                return -EINVAL;
 
        path = strndup_user((const char __user *)(unsigned long) arg.dev, 
PATH_MAX);
-       if (!path)
-               return -ENOMEM;
+       if (IS_ERR(path))
+               return PTR_ERR(path);
 
        ret = bch2_dev_online(c, path);
        kfree(path);
-- 
2.39.2

Reply via email to