diff options
Diffstat (limited to 'mm/memory-failure.c')
-rw-r--r-- | mm/memory-failure.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 78f5f2641b91..ca5acee53b7a 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c | |||
@@ -888,7 +888,15 @@ int get_hwpoison_page(struct page *page) | |||
888 | } | 888 | } |
889 | } | 889 | } |
890 | 890 | ||
891 | return get_page_unless_zero(head); | 891 | if (get_page_unless_zero(head)) { |
892 | if (head == compound_head(page)) | ||
893 | return 1; | ||
894 | |||
895 | pr_info("MCE: %#lx cannot catch tail\n", page_to_pfn(page)); | ||
896 | put_page(head); | ||
897 | } | ||
898 | |||
899 | return 0; | ||
892 | } | 900 | } |
893 | EXPORT_SYMBOL_GPL(get_hwpoison_page); | 901 | EXPORT_SYMBOL_GPL(get_hwpoison_page); |
894 | 902 | ||