Re: [PATCH] rapidio: Avoid bogus __alloc_size warning

John Hubbard
2021-09-09T22:27:04Z

On 9/9/21 13:27, Andrew Morton wrote:
...
>> include/linux/thread_info.h:213:4: error: call to '__bad_copy_to' declared with attribute error: copy destination size is too small
>> 213 | __bad_copy_to();
>> | ^~~~~~~~~~~~~~~
>>
>> But the allocation size and the copy size are identical:
>>
>> transfer = vmalloc(array_size(sizeof(*transfer), transaction.count));
>> if (!transfer)
>> return -ENOMEM;
>>
>> if (unlikely(copy_from_user(transfer,
>> (void __user *)(uintptr_t)transaction.block,
>> array_size(sizeof(*transfer), transaction.count)))) {
>
> That's an "error", not a warning. Or is this thanks to the new -Werror?
>
> Either way, I'm inclined to cc:stable on this, because use of gcc-9 on
> older kernels will be a common thing down the ages.
>
> If it's really an "error" on non-Werror kernels then definitely cc:stable.
>

It looks like a hard error, not a warning upgraded by -Werror: I did a local
repro, then ran with V=1, removed all -Werror parts of the gcc invocation,
ran again, and still reproduced the error.

I also verified that the patch causes the error to go away.

Also, I can't find anything wrong with the diffs, so:

Reviewed-by: John Hubbard <jhubbard@nvidia.com>

thanks,
--
John Hubbard
NVIDIA