From 7bd6303a5ef026230ff8a54771f035fcb962c004 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 11 Aug 2008 09:30:25 +0200 Subject: [PATCH] --- yaml --- r: 108185 b: refs/heads/master c: 7cd5a02f54f4c9d16cf7fdffa2122bc73bb09b43 h: refs/heads/master i: 108183: 8f29ca3d8e4a649b4937b3aead5b81594afb2609 v: v3 --- [refs] | 2 +- trunk/mm/mmap.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 70bd6e6c5d78..e6536670becd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 454ed842d55740160334efc9ad56cfef54ed37bc +refs/heads/master: 7cd5a02f54f4c9d16cf7fdffa2122bc73bb09b43 diff --git a/trunk/mm/mmap.c b/trunk/mm/mmap.c index 5d09d08a4120..32a287b631d4 100644 --- a/trunk/mm/mmap.c +++ b/trunk/mm/mmap.c @@ -2358,11 +2358,17 @@ int mm_take_all_locks(struct mm_struct *mm) for (vma = mm->mmap; vma; vma = vma->vm_next) { if (signal_pending(current)) goto out_unlock; - if (vma->anon_vma) - vm_lock_anon_vma(mm, vma->anon_vma); if (vma->vm_file && vma->vm_file->f_mapping) vm_lock_mapping(mm, vma->vm_file->f_mapping); } + + for (vma = mm->mmap; vma; vma = vma->vm_next) { + if (signal_pending(current)) + goto out_unlock; + if (vma->anon_vma) + vm_lock_anon_vma(mm, vma->anon_vma); + } + ret = 0; out_unlock: