X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=mm%2Fmincore.c;h=a4e6b9d75c76198be4f04d41e996f2067a97db27;hb=b90be8662b1d7bd84637edb8f96e904f865a2fe2;hp=9ac42dc6d7b61481b1eedb8e12b463bd151b1f92;hpb=800f65bba8d2030b3fef62850e203f9f176625a8;p=mv-sheeva.git diff --git a/mm/mincore.c b/mm/mincore.c index 9ac42dc6d7b..a4e6b9d75c7 100644 --- a/mm/mincore.c +++ b/mm/mincore.c @@ -154,6 +154,13 @@ static void mincore_pmd_range(struct vm_area_struct *vma, pud_t *pud, pmd = pmd_offset(pud, addr); do { next = pmd_addr_end(addr, end); + if (pmd_trans_huge(*pmd)) { + if (mincore_huge_pmd(vma, pmd, addr, next, vec)) { + vec += (next - addr) >> PAGE_SHIFT; + continue; + } + /* fall through */ + } if (pmd_none_or_clear_bad(pmd)) mincore_unmapped_range(vma, addr, next, vec); else