summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@home.transmeta.com>2002-07-05 22:38:03 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2002-07-05 22:38:03 -0700
commita321a55fcbb2c21eb7bc8b7d4b294eefaea9065c (patch)
treecbf86c08345375d19ed928bc57423b7b3a46e7bf
parentf2458453d287eaa65515051694dc7bde4e090ff8 (diff)
Avoid taking i_shared lock while already holding the page
table lock
-rw-r--r--mm/mmap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/mmap.c b/mm/mmap.c
index 7c1badcd5155..384d1ff87f87 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1121,7 +1121,6 @@ void exit_mmap(struct mm_struct * mm)
unsigned long end = mpnt->vm_end;
mm->map_count--;
- remove_shared_vm_struct(mpnt);
unmap_page_range(tlb, mpnt, start, end);
mpnt = mpnt->vm_next;
}
@@ -1148,6 +1147,7 @@ void exit_mmap(struct mm_struct * mm)
*/
while (mpnt) {
struct vm_area_struct * next = mpnt->vm_next;
+ remove_shared_vm_struct(mpnt);
if (mpnt->vm_ops) {
if (mpnt->vm_ops->close)
mpnt->vm_ops->close(mpnt);