lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Tue, 16 May 2023 09:17:53 +0800
From:   Su Hui <suhui@...china.com>
To:     Christophe JAILLET <christophe.jaillet@...adoo.fr>,
        Jan Harkes <jaharkes@...cmu.edu>, coda@...cmu.edu
Cc:     codalist@...a.cs.cmu.edu, linux-kernel@...r.kernel.org,
        kernel-janitors@...r.kernel.org
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 <suhui@...china.com>
>> ---
>>   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;
>>       }
>
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ