Message ID | 20250110163300.3346321-1-willy@infradead.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [1/2] mm: Fix assertion in folio_end_read() | expand |
diff --git a/mm/filemap.c b/mm/filemap.c index 12ba297bb85e..3b1eefa9aab8 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1505,7 +1505,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;
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. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> --- mm/filemap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)