misc: xilinx_sdfec: Return -EFAULT if copy_from_user() fails
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 22 Aug 2019 08:31:05 +0000 (11:31 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Aug 2019 21:28:10 +0000 (14:28 -0700)
The copy_from_user() function returns the number of bytes remaining to
be copied but we want to return -EFAULT to the user.

Fixes: 20ec628e8007 ("misc: xilinx_sdfec: Add ability to configure LDPC")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Dragan Cvetic <dragan.cvetic@xilinx.com>
Link: https://lore.kernel.org/r/20190822083105.GI3964@kadam
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/xilinx_sdfec.c

index dc1b8b4..813b82c 100644 (file)
@@ -651,9 +651,10 @@ static int xsdfec_add_ldpc(struct xsdfec_dev *xsdfec, void __user *arg)
        if (!ldpc)
                return -ENOMEM;
 
-       ret = copy_from_user(ldpc, arg, sizeof(*ldpc));
-       if (ret)
+       if (copy_from_user(ldpc, arg, sizeof(*ldpc))) {
+               ret = -EFAULT;
                goto err_out;
+       }
 
        if (xsdfec->config.code == XSDFEC_TURBO_CODE) {
                ret = -EIO;