staging: mt7621-mmc: Fix: copy_from_user() returns a positive value
authorChristian Lütke-Stetzkamp <christian@lkamp.de>
Sat, 7 Apr 2018 08:16:24 +0000 (10:16 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 23 Apr 2018 13:36:31 +0000 (15:36 +0200)
copy_from_user() returns a positive value in case of an error, to fix
this the check is turned around, also a better return value is chosen.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Suggested-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Christian Lütke-Stetzkamp <christian@lkamp.de>
Reviewed-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/mt7621-mmc/dbg.c

index ec95f6d..9a1809d 100644 (file)
@@ -265,9 +265,8 @@ static ssize_t msdc_debug_proc_write(struct file *file,
        if (count > 255)
                count = 255;
 
-       ret = copy_from_user(cmd_buf, buf, count);
-       if (ret < 0)
-               return -1;
+       if (copy_from_user(cmd_buf, buf, count))
+               return -EFAULT;
 
        cmd_buf[count] = '\0';
        printk("msdc Write %s\n", cmd_buf);