[PATCH -fixes] riscv: uaccess: Return the number of bytes effectively copied

Björn Töpel bjorn at kernel.org
Fri Aug 11 05:33:53 PDT 2023


Alexandre Ghiti <alex at ghiti.fr> writes:

> On 11/08/2023 13:03, Alexandre Ghiti wrote:
>> It was reported that the riscv kernel hangs while executing the test
>> in [1].
>>
>> Indeed, the test hangs when trying to write a buffer to a file. The
>> problem is that the riscv implementation of raw_copy_from_user() does not
>> return the number of bytes written when an exception happens and is fixed
>> up.
>
>
> I'll respin another version as the changelog and the title are 
> incorrect: the uaccess routines should not return the number of bytes 
> copied but actually the number of bytes not copied (this is what this 
> patch implements).
>
> I'll wait for feedbacks before doing so!

Yikes! Nice catch.

Functions like fault_in_readable() will fail horribly w/o this. I wonder
why we haven't seen this problem more?

Feel free to add my RB to your next spin!

Reviewed-by: Björn Töpel <bjorn at rivosinc.com>




More information about the linux-riscv mailing list