--- 2.4.10pre2aa2/include/linux/mm.h.~1~ Thu Aug 30 20:50:59 2001 +++ 2.4.10pre2aa2/include/linux/mm.h Fri Aug 31 17:38:30 2001 @@ -451,7 +451,7 @@ */ static inline pmd_t *pmd_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address) { - if (!pgd_present(*pgd)) + if (pgd_none(*pgd)) return __pmd_alloc(mm, pgd, address); return pmd_offset(pgd, address); } --- 2.4.10pre2aa2/mm/memory.c.~1~ Thu Aug 30 20:41:41 2001 +++ 2.4.10pre2aa2/mm/memory.c Fri Aug 31 17:38:13 2001 @@ -1389,7 +1389,7 @@ * Because we dropped the lock, we should re-check the * entry, as somebody else could have populated it.. */ - if (pgd_present(*pgd)) { + if (!pgd_none(*pgd)) { pmd_free(new); goto out; } @@ -1407,7 +1407,7 @@ */ pte_t *pte_alloc(struct mm_struct *mm, pmd_t *pmd, unsigned long address) { - if (!pmd_present(*pmd)) { + if (pmd_none(*pmd)) { pte_t *new; /* "fast" allocation can happen without dropping the lock.. */ @@ -1423,7 +1423,7 @@ * Because we dropped the lock, we should re-check the * entry, as somebody else could have populated it.. */ - if (pmd_present(*pmd)) { + if (!pmd_none(*pmd)) { pte_free(new); goto out; }