2023-05-15 06:51:46

by Su Hui

[permalink] [raw]
Subject: [PATCH] coda: return -EFAULT if copy fails

The copy_to/from_user() functions should return -EFAULT instead of -EINVAL.

Signed-off-by: Su Hui <[email protected]>
---
fs/coda/upcall.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/coda/upcall.c b/fs/coda/upcall.c
index cd6a3721f6f6..1517dc3bd592 100644
--- a/fs/coda/upcall.c
+++ b/fs/coda/upcall.c
@@ -510,7 +510,7 @@ int venus_pioctl(struct super_block *sb, struct CodaFid *fid,
/* get the data out of user space */
if (copy_from_user((char *)inp + (long)inp->coda_ioctl.data,
data->vi.in, data->vi.in_size)) {
- error = -EINVAL;
+ error = -EFAULT;
goto exit;
}

--
2.30.2



2023-05-15 07:41:05

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] coda: return -EFAULT if copy fails

On Mon, May 15, 2023 at 02:19:23PM +0800, Su Hui wrote:
> The copy_to/from_user() functions should return -EFAULT instead of -EINVAL.
>
> Signed-off-by: Su Hui <[email protected]>
> ---

Could you add a Fixes tag?

regards,
dan carpenter


2023-05-15 17:34:12

by Christophe JAILLET

[permalink] [raw]
Subject: Re: [PATCH] coda: return -EFAULT if copy fails

Le 15/05/2023 à 08:19, Su Hui a écrit :
> The copy_to/from_user() functions should return -EFAULT instead of -EINVAL.

Hi,

just for my understanding, why?

Even if not perfect:
git grep -A1 copy_from_user | grep EINV | wc -l
15

git grep -A1 copy_to_user | grep EINV | wc -l
12

CJ

>
> Signed-off-by: Su Hui <[email protected]>
> ---
> fs/coda/upcall.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/coda/upcall.c b/fs/coda/upcall.c
> index cd6a3721f6f6..1517dc3bd592 100644
> --- a/fs/coda/upcall.c
> +++ b/fs/coda/upcall.c
> @@ -510,7 +510,7 @@ int venus_pioctl(struct super_block *sb, struct CodaFid *fid,
> /* get the data out of user space */
> if (copy_from_user((char *)inp + (long)inp->coda_ioctl.data,
> data->vi.in, data->vi.in_size)) {
> - error = -EINVAL;
> + error = -EFAULT;
> goto exit;
> }
>



2023-05-16 01:37:40

by Su Hui

[permalink] [raw]
Subject: Re: [PATCH] coda: return -EFAULT if copy fails


On 2023/5/16 01:15, Christophe JAILLET wrote:
> Le 15/05/2023 à 08:19, Su Hui a écrit :
>> The copy_to/from_user() functions should return -EFAULT instead of
>> -EINVAL.
>
> Hi,
>
> just for my understanding, why?
>
> Even if not perfect:
>    git grep -A1 copy_from_user | grep EINV | wc -l
>    15
>
>    git grep -A1 copy_to_user | grep EINV | wc -l
>    12
>
Hi,

maybe return -EFAULT is more better than -EINVAL.

    git grep -A1 "copy_from_user" | grep EFAULT | wc -l

     1985

    git grep -A1 "copy_to_user" | grep EFAULT | wc -l

    1871

Su Hui

> CJ
>
>>
>> Signed-off-by: Su Hui <[email protected]>
>> ---
>>   fs/coda/upcall.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/fs/coda/upcall.c b/fs/coda/upcall.c
>> index cd6a3721f6f6..1517dc3bd592 100644
>> --- a/fs/coda/upcall.c
>> +++ b/fs/coda/upcall.c
>> @@ -510,7 +510,7 @@ int venus_pioctl(struct super_block *sb, struct
>> CodaFid *fid,
>>           /* get the data out of user space */
>>       if (copy_from_user((char *)inp + (long)inp->coda_ioctl.data,
>>                  data->vi.in, data->vi.in_size)) {
>> -        error = -EINVAL;
>> +        error = -EFAULT;
>>               goto exit;
>>       }
>
>

2023-05-16 01:44:34

by Su Hui

[permalink] [raw]
Subject: Re: [PATCH] coda: return -EFAULT if copy fails

On 2023/5/15 15:35, Dan Carpenter wrote:
> On Mon, May 15, 2023 at 02:19:23PM +0800, Su Hui wrote:
>> The copy_to/from_user() functions should return -EFAULT instead of -EINVAL.
>>
>> Signed-off-by: Su Hui <[email protected]>
>> ---
> Could you add a Fixes tag?

Hi,

This doesn't seem like a bug.

So I think Fixes tag should not be used here.

Thanks for your reply!

Su Hui

> regards,
> dan carpenter
>