From 8c631f022f52a6b13b5b11ff982f6d4874d98fa4 Mon Sep 17 00:00:00 2001 From: Jeremy Fitzhardinge Date: Wed, 11 Feb 2009 13:04:41 -0800 Subject: [PATCH] --- yaml --- r: 131296 b: refs/heads/master c: 9480c53e9b2aa13a06283ffb96bb8f1873ac4e9a h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/mmap.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index ecc81d2b02d1..ed595ec49026 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3abdbf90a3ffb006108c831c56b092e35483b6ec +refs/heads/master: 9480c53e9b2aa13a06283ffb96bb8f1873ac4e9a diff --git a/trunk/mm/mmap.c b/trunk/mm/mmap.c index eb1270bebe67..00ced3ee49a8 100644 --- a/trunk/mm/mmap.c +++ b/trunk/mm/mmap.c @@ -2084,12 +2084,8 @@ void exit_mmap(struct mm_struct *mm) unsigned long end; /* mm's last user has gone, and its about to be pulled down */ - arch_exit_mmap(mm); mmu_notifier_release(mm); - if (!mm->mmap) /* Can happen if dup_mmap() received an OOM */ - return; - if (mm->locked_vm) { vma = mm->mmap; while (vma) { @@ -2098,7 +2094,13 @@ void exit_mmap(struct mm_struct *mm) vma = vma->vm_next; } } + + arch_exit_mmap(mm); + vma = mm->mmap; + if (!vma) /* Can happen if dup_mmap() received an OOM */ + return; + lru_add_drain(); flush_cache_mm(mm); tlb = tlb_gather_mmu(mm, 1);