staging: wfx: fix copy_{to,from}_user() usage
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Tue, 8 Oct 2019 09:43:00 +0000 (09:43 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Oct 2019 12:44:56 +0000 (14:44 +0200)
On error, copy_to_user() returns number of bytes remaining. Driver
should return -EFAULT.

Fixes: 4f8b7fabb15d ("staging: wfx: allow to send commands to chip")
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20191008094232.10014-6-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/debug.c

index 3261b26..8de16ad 100644 (file)
@@ -256,9 +256,8 @@ static ssize_t wfx_send_hif_msg_read(struct file *file, char __user *user_buf,
                return context->ret;
        // Be carefull, write() is waiting for a full message while read()
        // only return a payload
-       ret = copy_to_user(user_buf, context->reply, count);
-       if (ret)
-               return ret;
+       if (copy_to_user(user_buf, context->reply, count))
+               return -EFAULT;
 
        return count;
 }