diff mbox series

[1/2] mm: Fix assertion in folio_end_read()

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

Commit Message

Matthew Wilcox Jan. 10, 2025, 4:32 p.m. UTC
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(-)
diff mbox series

Patch

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;