On Fri, May 19, 2023 at 09:37:10AM +0800, Su Hui wrote:
The copy_to/from_user() functions return the number of bytes remainingWhy ? EFAULT means that a bad address was provided, and it is not
to be copied, but we want to return -EFAULT to the user.
immediately obvious why that would be the case.
Guenter
Fixes: 680ca6dcf5c2 ("drivers/fsi: Add SCOM FSI client device driver")
Signed-off-by: Su Hui <suhui@xxxxxxxxxxxx>
---
drivers/fsi/fsi-scom.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/fsi/fsi-scom.c b/drivers/fsi/fsi-scom.c
index bcb756dc9866..caaf7738eb98 100644
--- a/drivers/fsi/fsi-scom.c
+++ b/drivers/fsi/fsi-scom.c
@@ -335,7 +335,7 @@ static ssize_t scom_read(struct file *filep, char __user *buf, size_t len,
if (rc)
dev_dbg(dev, "copy to user failed:%d\n", rc);
- return rc ? rc : len;
+ return rc ? -EFAULT : len;
}
static ssize_t scom_write(struct file *filep, const char __user *buf,
--
2.30.2