6 Jul
2022
6 Jul
'22
10:21 a.m.
On Wed, Jul 06, 2022 at 12:05:37PM +0300, Péter Ujfalusi wrote:
On 06/07/2022 10:23, Dan Carpenter wrote:
This function tries to return the number of bytes that it was able to copy to the user. However, because there are multiple calls to copy_to_user() in a row that means the bytes are not necessarily consecutive so it's not useful. Just return -EFAULT instead.
The function is copying data from a circular buffer to a use buffer. The single copy_to_user() is used when we don't have wrapping, the 'double' copy_to_user() is when we wrap, so first copy is from the end of the buffer then we copy the data from the start of the buffer to get all data.
Ok. But the bugs in the original code are real. I will resend.
regards, dan carpenter