diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-02 09:44:15 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-02 09:44:15 -0700 |
commit | 0938a8f52d10fc917eecc5c1b2fb7d3a7dedfa41 (patch) | |
tree | 5fc6b86ed716987c2c6817447314b2890d68629c | |
parent | 0512e0134582ef85dee77d51aae77dcd1edec495 (diff) | |
parent | 145e1a71e090575c74969e3daa8136d1e5b99fc8 (diff) | |
download | linux-0938a8f52d10fc917eecc5c1b2fb7d3a7dedfa41.tar.bz2 |
Merge branch 'akpm' (patches from Andrew)
Merge two fixes from Andrew Morton.
* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
mm: fix the NULL mapping case in __isolate_lru_page()
mm/huge_memory.c: __split_huge_page() use atomic ClearPageDirty()
-rw-r--r-- | mm/huge_memory.c | 2 | ||||
-rw-r--r-- | mm/vmscan.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/mm/huge_memory.c b/mm/huge_memory.c index a3a1815f8e11..b9f3dbd885bd 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -2431,7 +2431,7 @@ static void __split_huge_page(struct page *page, struct list_head *list, __split_huge_page_tail(head, i, lruvec, list); /* Some pages can be beyond i_size: drop them from page cache */ if (head[i].index >= end) { - __ClearPageDirty(head + i); + ClearPageDirty(head + i); __delete_from_page_cache(head + i, NULL); if (IS_ENABLED(CONFIG_SHMEM) && PageSwapBacked(head)) shmem_uncharge(head->mapping->host, 1); diff --git a/mm/vmscan.c b/mm/vmscan.c index 9b697323a88c..9270a4370d54 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1418,7 +1418,7 @@ int __isolate_lru_page(struct page *page, isolate_mode_t mode) return ret; mapping = page_mapping(page); - migrate_dirty = mapping && mapping->a_ops->migratepage; + migrate_dirty = !mapping || mapping->a_ops->migratepage; unlock_page(page); if (!migrate_dirty) return ret; |