From: Matthew Wilcox (Oracle) Date: Fri, 10 Jan 2025 16:32:57 +0000 (+0000) Subject: mm: fix assertion in folio_end_read() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=1c47c57818ad73d2d09ddbcb4839708aab5ff2e3;p=users%2Fjedix%2Flinux-maple.git mm: fix assertion in folio_end_read() We only need to assert that the uptodate flag is clear if we're going to set it. This hasn't been a problem before now because we have only used folio_end_read() when completing with an error, but it's convenient to use it in squashfs if we discover the folio is already uptodate. Link: https://lkml.kernel.org/r/20250110163300.3346321-1-willy@infradead.org Signed-off-by: Matthew Wilcox (Oracle) Cc: Phillip Lougher Signed-off-by: Andrew Morton --- diff --git a/mm/filemap.c b/mm/filemap.c index 118fa1e0bafe8..4f476411a9a2d 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1523,7 +1523,7 @@ void folio_end_read(struct folio *folio, bool success) /* Must be in bottom byte for x86 to work */ BUILD_BUG_ON(PG_uptodate > 7); VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio); - VM_BUG_ON_FOLIO(folio_test_uptodate(folio), folio); + VM_BUG_ON_FOLIO(success && folio_test_uptodate(folio), folio); if (likely(success)) mask |= 1 << PG_uptodate;