diff options
Diffstat (limited to 'mm/memory-failure.c')
| -rw-r--r-- | mm/memory-failure.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/memory-failure.c b/mm/memory-failure.c index e01a2da803e2..9711c0eb70b0 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -1517,7 +1517,9 @@ int __get_huge_page_for_hwpoison(unsigned long pfn, int flags) if (flags & MF_COUNT_INCREASED) { ret = 1; count_increased = true; - } else if (HPageFreed(head) || HPageMigratable(head)) { + } else if (HPageFreed(head)) { + ret = 0; + } else if (HPageMigratable(head)) { ret = get_page_unless_zero(head); if (ret) count_increased = true; |
