]> err.no Git - linux-2.6/blobdiff - mm/memory.c
[Blackfin] arch: Cleanup Kconfig, fix comment and make sure we exclude CCLK=SCLK...
[linux-2.6] / mm / memory.c
index bbab1e37055e22df235af61ddd201fe4b9832283..48c122d42ed743dcc90178170b4aff380ec3ad8c 100644 (file)
@@ -969,7 +969,7 @@ struct page *follow_page(struct vm_area_struct *vma, unsigned long address,
                goto no_page_table;
        
        pmd = pmd_offset(pud, address);
-       if (pmd_none(*pmd) || unlikely(pmd_bad(*pmd)))
+       if (pmd_none(*pmd))
                goto no_page_table;
 
        if (pmd_huge(*pmd)) {
@@ -978,6 +978,9 @@ struct page *follow_page(struct vm_area_struct *vma, unsigned long address,
                goto out;
        }
 
+       if (unlikely(pmd_bad(*pmd)))
+               goto no_page_table;
+
        ptep = pte_offset_map_lock(mm, pmd, address, &ptl);
        if (!ptep)
                goto out;