diff options
Diffstat (limited to 'mm/migrate.c')
-rw-r--r-- | mm/migrate.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/mm/migrate.c b/mm/migrate.c index 63f0cd559999..be6dbf995c0c 100644 --- a/mm/migrate.c +++ b/mm/migrate.c | |||
@@ -120,8 +120,6 @@ static int remove_migration_pte(struct page *new, struct vm_area_struct *vma, | |||
120 | pmd = mm_find_pmd(mm, addr); | 120 | pmd = mm_find_pmd(mm, addr); |
121 | if (!pmd) | 121 | if (!pmd) |
122 | goto out; | 122 | goto out; |
123 | if (pmd_trans_huge(*pmd)) | ||
124 | goto out; | ||
125 | 123 | ||
126 | ptep = pte_offset_map(pmd, addr); | 124 | ptep = pte_offset_map(pmd, addr); |
127 | 125 | ||
@@ -990,9 +988,10 @@ out: | |||
990 | * it. Otherwise, putback_lru_page() will drop the reference grabbed | 988 | * it. Otherwise, putback_lru_page() will drop the reference grabbed |
991 | * during isolation. | 989 | * during isolation. |
992 | */ | 990 | */ |
993 | if (rc != MIGRATEPAGE_SUCCESS && put_new_page) | 991 | if (rc != MIGRATEPAGE_SUCCESS && put_new_page) { |
992 | ClearPageSwapBacked(newpage); | ||
994 | put_new_page(newpage, private); | 993 | put_new_page(newpage, private); |
995 | else | 994 | } else |
996 | putback_lru_page(newpage); | 995 | putback_lru_page(newpage); |
997 | 996 | ||
998 | if (result) { | 997 | if (result) { |