mm: remove folio from deferred split list before uncharging it
[linux-2.6-microblaze.git] / mm / swap.c
index 6b697d3..e43a591 100644 (file)
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -1012,6 +1012,9 @@ void folios_put_refs(struct folio_batch *folios, unsigned int *refs)
                        free_huge_folio(folio);
                        continue;
                }
+               if (folio_test_large(folio) &&
+                   folio_test_large_rmappable(folio))
+                       folio_undo_large_rmappable(folio);
 
                __page_cache_release(folio, &lruvec, &flags);