diff options
-rw-r--r-- | mm/memory-failure.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/memory-failure.c b/mm/memory-failure.c index b62287db87af..dc47415a5511 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c | |||
@@ -687,6 +687,8 @@ static int hwpoison_user_mappings(struct page *p, unsigned long pfn, | |||
687 | /* | 687 | /* |
688 | * Propagate the dirty bit from PTEs to struct page first, because we | 688 | * Propagate the dirty bit from PTEs to struct page first, because we |
689 | * need this to decide if we should kill or just drop the page. | 689 | * need this to decide if we should kill or just drop the page. |
690 | * XXX: the dirty test could be racy: set_page_dirty() may not always | ||
691 | * be called inside page lock (it's recommended but not enforced). | ||
690 | */ | 692 | */ |
691 | mapping = page_mapping(p); | 693 | mapping = page_mapping(p); |
692 | if (!PageDirty(p) && mapping && mapping_cap_writeback_dirty(mapping)) { | 694 | if (!PageDirty(p) && mapping && mapping_cap_writeback_dirty(mapping)) { |