On Tue, May 16, 2017 at 2:33 PM, Al Viro <[email protected]> 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.

