A coccicheck run provided information like the following.
./drivers/usb/gadget/function/f_fs.c:3832:9-16:
WARNING: ERR_CAST can be used with data
Use ERR_CAST to fix this.
Signed-off-by: YueHaibing <[email protected]>
---
drivers/usb/gadget/function/f_fs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
index bf109191659a..61110ff52f49 100644
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
@@ -3829,7 +3829,7 @@ static char *ffs_prepare_buffer(const char __user *buf, size_t len)
data = memdup_user(buf, len);
if (IS_ERR(data))
- return ERR_PTR(PTR_ERR(data));
+ return ERR_CAST(data);
pr_vdebug("Buffer from user space:\n");
ffs_dump_mem("", data, len);
--
2.17.1
On Wed, May 19, 2021 at 10:30:32AM +0800, YueHaibing wrote:
> A coccicheck run provided information like the following.
>
> ./drivers/usb/gadget/function/f_fs.c:3832:9-16:
> WARNING: ERR_CAST can be used with data
>
> Use ERR_CAST to fix this.
>
> Signed-off-by: YueHaibing <[email protected]>
> ---
> drivers/usb/gadget/function/f_fs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
> index bf109191659a..61110ff52f49 100644
> --- a/drivers/usb/gadget/function/f_fs.c
> +++ b/drivers/usb/gadget/function/f_fs.c
> @@ -3829,7 +3829,7 @@ static char *ffs_prepare_buffer(const char __user *buf, size_t len)
>
> data = memdup_user(buf, len);
> if (IS_ERR(data))
> - return ERR_PTR(PTR_ERR(data));
> + return ERR_CAST(data);
This should just be:
return PTR_ERR(data);
right?
No need for 2 casts to happen here.
thanks,
greg k-h
On 2021/5/21 19:48, Greg KH wrote:
> On Wed, May 19, 2021 at 10:30:32AM +0800, YueHaibing wrote:
>> A coccicheck run provided information like the following.
>>
>> ./drivers/usb/gadget/function/f_fs.c:3832:9-16:
>> WARNING: ERR_CAST can be used with data
>>
>> Use ERR_CAST to fix this.
>>
>> Signed-off-by: YueHaibing <[email protected]>
>> ---
>> drivers/usb/gadget/function/f_fs.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
>> index bf109191659a..61110ff52f49 100644
>> --- a/drivers/usb/gadget/function/f_fs.c
>> +++ b/drivers/usb/gadget/function/f_fs.c
>> @@ -3829,7 +3829,7 @@ static char *ffs_prepare_buffer(const char __user *buf, size_t len)
>>
>> data = memdup_user(buf, len);
>> if (IS_ERR(data))
>> - return ERR_PTR(PTR_ERR(data));
>> + return ERR_CAST(data);
>
> This should just be:
> return PTR_ERR(data);
> right?
ffs_prepare_buffer() should return an ERR_PTR() encoded error code on failure,
maybe there just do:
return data;
>
> No need for 2 casts to happen here.
>
> thanks,
>
> greg k-h
> .
>