Hi David, David Howells <dhowells@xxxxxxxxxx> writes: > Does the attached fix the problem for you? The data being written into the > pipe needs to be limited to the size of the file. > > David > > diff --git a/mm/filemap.c b/mm/filemap.c > index c01bbcb9fa92..6362ac697a70 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -2948,7 +2948,8 @@ ssize_t filemap_splice_read(struct file *in, loff_t *ppos, > if (writably_mapped) > flush_dcache_folio(folio); > > - n = splice_folio_into_pipe(pipe, folio, *ppos, len); > + n = min_t(loff_t, len, isize - *ppos); > + n = splice_folio_into_pipe(pipe, folio, *ppos, n); > if (!n) > goto out; > len -= n; Yes, this change fixed the problem. Thanks Regards Alex