Check that the file tail does not cross a page boundary. Requested by Andreas. Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> --- fs/iomap/buffered-io.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c index 8ee0211bea86..586d9d078ce1 100644 --- a/fs/iomap/buffered-io.c +++ b/fs/iomap/buffered-io.c @@ -215,6 +215,8 @@ static int iomap_read_inline_data(struct inode *inode, struct page *page, if (PageUptodate(page)) return PAGE_SIZE - poff; + if (WARN_ON_ONCE(size > PAGE_SIZE - poff)) + return -EIO; if (WARN_ON_ONCE(size > PAGE_SIZE - offset_in_page(iomap->inline_data))) return -EIO; -- 2.30.2