diff --git a/mm/migrate.c b/mm/migrate.c index e397bd2..96d4d81 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -919,9 +919,10 @@ out: * it. Otherwise, putback_lru_page() will drop the reference grabbed * during isolation. */ - if (rc != MIGRATEPAGE_SUCCESS && put_new_page) + if (rc != MIGRATEPAGE_SUCCESS && put_new_page) { + ClearPageSwapBacked(newpage); put_new_page(newpage, private); - else + } else putback_lru_page(newpage); if (result) {