mm/hugetlb: add migration entry check in __unmap_hugepage_range
[linux-2.6-block.git] / mm / hugetlb.c
index c2970e7eb5271bab137692e3f53989313c9d34b1..fd28d6ba5e5db3b2d2603ccc31abd3bc894d309b 100644 (file)
@@ -2657,9 +2657,10 @@ again:
                        goto unlock;
 
                /*
-                * HWPoisoned hugepage is already unmapped and dropped reference
+                * Migrating hugepage or HWPoisoned hugepage is already
+                * unmapped and its refcount is dropped, so just clear pte here.
                 */
-               if (unlikely(is_hugetlb_entry_hwpoisoned(pte))) {
+               if (unlikely(!pte_present(pte))) {
                        huge_pte_clear(mm, address, ptep);
                        goto unlock;
                }