X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=mm%2Fpagewalk.c;h=0afd2387e507d8f8deed9697f1971fc953f4b4b6;hb=f4c753b7eacc277e506066abdda351cbc1cf8e6a;hp=1cf1417ef8b77bc111f2fc5b4f4c24c3fbee1f88;hpb=074fcab574a36edec35d2e74955250f2e17d6000;p=linux-2.6 diff --git a/mm/pagewalk.c b/mm/pagewalk.c index 1cf1417ef8..0afd2387e5 100644 --- a/mm/pagewalk.c +++ b/mm/pagewalk.c @@ -9,11 +9,15 @@ static int walk_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, int err = 0; pte = pte_offset_map(pmd, addr); - do { + for (;;) { err = walk->pte_entry(pte, addr, addr + PAGE_SIZE, private); if (err) break; - } while (pte++, addr += PAGE_SIZE, addr != end); + addr += PAGE_SIZE; + if (addr == end) + break; + pte++; + } pte_unmap(pte); return err;