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
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
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;
> }
>
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;
>> }
>
>
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
>