Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > I think I found it. > > TOTALLY UNTESTED patch appended. It's whitespace-damaged and may be > completely wrong. And might not fix it. > > The first hunk is purely syntactic sugar - use the normal head/tail > order. The second/third hunk is what I think fixes the problem: > iter_file_splice_write() had the same buggy "let's cache > head/tail/mask" pattern as pipe_write() had. > > You can't cache them over a 'pipe_wait()' that drops the pipe lock, > and there's one in splice_from_pipe_next(). That seems to fix it. Tested-by: David Howells <dhowells@xxxxxxxxxx>