Messages in this thread | | | Date | Thu, 19 May 2016 10:05:43 +0200 | Subject | why does page_cache_pipe_buf_confirm() need to check page->mapping? | From | Miklos Szeredi <> |
| |
Hi Jens,
I haven't done a great deal of research into this, but checking page->mapping in page_cache_pipe_buf_confirm() might be bogus.
If the page is truncated *after* being spliced into the pipe, why on earth does the buffer become invalid?
This looks to be a problem for filesystems that invalidate pages (because the the data is possibly stale) and the pipe read returns -ENODATA even though the data is there, it's just possibly different from what was spliced into the pipe. But I don't think that's a reason for throwing away that buffer and definitely not a reason to return an error.
Thanks, Miklos
| |