X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=mm%2Fmmap.c;h=88da687bde89fdc51b367c1728d330b3321568ab;hb=aee16b3cee2746880e40945a9b5bff4f309cfbc4;hp=eb509ae76553260c61a4b17b3b8bc7deca663b25;hpb=fe6af6faec078ec8137631f24cb541f9918244f0;p=mv-sheeva.git diff --git a/mm/mmap.c b/mm/mmap.c index eb509ae7655..88da687bde8 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -29,6 +29,7 @@ #include #include #include +#include #ifndef arch_mmap_check #define arch_mmap_check(addr, len, flags) (0) @@ -299,6 +300,8 @@ static int browse_rb(struct rb_root *root) printk("vm_end %lx < vm_start %lx\n", vma->vm_end, vma->vm_start); i++; pn = nd; + prev = vma->vm_start; + pend = vma->vm_end; } j = 0; for (nd = pn; nd; nd = rb_prev(nd)) { @@ -1977,6 +1980,9 @@ void exit_mmap(struct mm_struct *mm) unsigned long nr_accounted = 0; unsigned long end; + /* mm's last user has gone, and its about to be pulled down */ + arch_exit_mmap(mm); + lru_add_drain(); flush_cache_mm(mm); tlb = tlb_gather_mmu(mm, 1);