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

From: Björn Töpel
Date: Fri Aug 11 2023 - 08:34:00 EST


Alexandre Ghiti <alex@xxxxxxxx> 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@xxxxxxxxxxxx>