Re: [PATCH] drivers/fsi/scom: Return -EFAULT if copy fails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2023/5/23 06:30, Guenter Roeck wrote:
On Fri, May 19, 2023 at 09:37:10AM +0800, Su Hui wrote:
The copy_to/from_user() functions return the number of bytes remaining
to be copied, but we want to return -EFAULT to the user.

Why ? EFAULT means that a bad address was provided, and it is not
immediately obvious why that would be the case.

When copy_to/from_user() functions failed, the error code is  -EFAULT in most case.
	
	git grep -A1 "copy_from_user" | grep EFAULT | wc -l
    1985
	git grep -A1 "copy_to_user" | grep EFAULT | wc -l
     1871

I think return -EFAULT is also right in this case.

Su Hui

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




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux