Re: [PATCH] [iov_iter] use memmove() when copying to/from user page

From: Dmitry Vyukov
Date: Tue May 16 2017 - 18:15:44 EST


On Tue, May 16, 2017 at 2:33 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> On Tue, May 16, 2017 at 02:01:51PM -0700, Dmitry Vyukov wrote:
>
>> > In that case your patch does not suffice. Overlapping move _forwards_ still
>> > yields unexpected results, doesn't it?
>>
>> Why? memmove can move both ways. Do we need to change more memcpy's to
>> memmove's?
>
> Because it's not going to be *one* call of memcpy() or memmove(). It's
> one per page.


I missed that.

I assumed that in the case of sendfile from memfd to memfd data will
be copied directly. But it goes through a pipe with multiple buffers.
Does not look easily fixable.