diff options
Diffstat (limited to 'mm/migrate.c')
-rw-r--r-- | mm/migrate.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/migrate.c b/mm/migrate.c index 9a3ce8847308..99db54bfd9ed 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -671,6 +671,8 @@ void migrate_page_states(struct page *newpage, struct page *page) SetPageActive(newpage); } else if (TestClearPageUnevictable(page)) SetPageUnevictable(newpage); + if (PageWorkingset(page)) + SetPageWorkingset(newpage); if (PageChecked(page)) SetPageChecked(newpage); if (PageMappedToDisk(page)) @@ -1649,7 +1651,7 @@ static int do_pages_move(struct mm_struct *mm, nodemask_t task_nodes, err = -EFAULT; if (get_user(p, pages + j + chunk_start)) goto out_pm; - pm[j].addr = (unsigned long) p; + pm[j].addr = (unsigned long)untagged_addr(p); if (get_user(node, nodes + j + chunk_start)) goto out_pm; |