thp: consolidate code between handle_mm_fault() and do_huge_pmd_anonymous_page()
[firefly-linux-kernel-4.4.55.git] / mm / memory-failure.c
index d04f99004c9f390cb99943236e59426013dc1f1a..d472e14c6808a7246bc3c6ddb19b9172ef9a2db7 100644 (file)
@@ -1388,7 +1388,7 @@ int unpoison_memory(unsigned long pfn)
        unlock_page(page);
 
        put_page(page);
-       if (freeit)
+       if (freeit && !(pfn == my_zero_pfn(0) && page_count(p) == 1))
                put_page(page);
 
        return 0;