From: Hugh Dickins From: Andrea Arcangeli zap_pmd_range, alone of all those page_range loops, lacks the check for whether address wrapped. Hugh is in doubt as to whether this makes any difference to any config on any arch, but eager to fix the odd one out. --- 25-akpm/mm/memory.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN mm/memory.c~rmap-32-zap_pmd_range-wrap mm/memory.c --- 25/mm/memory.c~rmap-32-zap_pmd_range-wrap 2004-05-08 21:56:29.127748904 -0700 +++ 25-akpm/mm/memory.c 2004-05-08 21:56:29.132748144 -0700 @@ -449,7 +449,7 @@ static void zap_pmd_range(struct mmu_gat zap_pte_range(tlb, pmd, address, end - address, details); address = (address + PMD_SIZE) & PMD_MASK; pmd++; - } while (address < end); + } while (address && (address < end)); } static void unmap_page_range(struct mmu_gather *tlb, _