mm/pagewalkers: ACTION_AGAIN if pte_offset_map_lock() fails
[linux-2.6-block.git] / mm / mincore.c
index 2d5be013a25a0ad9f941d4c9376102c2cb7b06a2..f33f6a0b1ded7fbf3a82ca3c01a0cdce6d5e500c 100644 (file)
@@ -113,12 +113,11 @@ static int mincore_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
                goto out;
        }
 
-       if (pmd_trans_unstable(pmd)) {
-               __mincore_unmapped_range(addr, end, vma, vec);
-               goto out;
-       }
-
        ptep = pte_offset_map_lock(walk->mm, pmd, addr, &ptl);
+       if (!ptep) {
+               walk->action = ACTION_AGAIN;
+               return 0;
+       }
        for (; addr != end; ptep++, addr += PAGE_SIZE) {
                pte_t pte = *ptep;