diff options
Diffstat (limited to 'mm/mlock.c')
-rw-r--r-- | mm/mlock.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/mm/mlock.c b/mm/mlock.c index a3d10ff99..f684a3c60 100644 --- a/mm/mlock.c +++ b/mm/mlock.c @@ -14,9 +14,9 @@ static inline int mlock_fixup_all(struct vm_area_struct * vma, int newflags) { - vmlist_modify_lock(vma->vm_mm); + spin_lock(&vma->vm_mm->page_table_lock); vma->vm_flags = newflags; - vmlist_modify_unlock(vma->vm_mm); + spin_unlock(&vma->vm_mm->page_table_lock); return 0; } @@ -36,11 +36,11 @@ static inline int mlock_fixup_start(struct vm_area_struct * vma, get_file(n->vm_file); if (n->vm_ops && n->vm_ops->open) n->vm_ops->open(n); - vmlist_modify_lock(vma->vm_mm); + spin_lock(&vma->vm_mm->page_table_lock); vma->vm_pgoff += (end - vma->vm_start) >> PAGE_SHIFT; vma->vm_start = end; insert_vm_struct(current->mm, n); - vmlist_modify_unlock(vma->vm_mm); + spin_unlock(&vma->vm_mm->page_table_lock); return 0; } @@ -61,10 +61,10 @@ static inline int mlock_fixup_end(struct vm_area_struct * vma, get_file(n->vm_file); if (n->vm_ops && n->vm_ops->open) n->vm_ops->open(n); - vmlist_modify_lock(vma->vm_mm); + spin_lock(&vma->vm_mm->page_table_lock); vma->vm_end = start; insert_vm_struct(current->mm, n); - vmlist_modify_unlock(vma->vm_mm); + spin_unlock(&vma->vm_mm->page_table_lock); return 0; } @@ -96,7 +96,7 @@ static inline int mlock_fixup_middle(struct vm_area_struct * vma, vma->vm_ops->open(left); vma->vm_ops->open(right); } - vmlist_modify_lock(vma->vm_mm); + spin_lock(&vma->vm_mm->page_table_lock); vma->vm_pgoff += (start - vma->vm_start) >> PAGE_SHIFT; vma->vm_start = start; vma->vm_end = end; @@ -104,7 +104,7 @@ static inline int mlock_fixup_middle(struct vm_area_struct * vma, vma->vm_raend = 0; insert_vm_struct(current->mm, left); insert_vm_struct(current->mm, right); - vmlist_modify_unlock(vma->vm_mm); + spin_unlock(&vma->vm_mm->page_table_lock); return 0; } @@ -183,9 +183,9 @@ static int do_mlock(unsigned long start, size_t len, int on) break; } } - vmlist_modify_lock(current->mm); + spin_lock(¤t->mm->page_table_lock); merge_segments(current->mm, start, end); - vmlist_modify_unlock(current->mm); + spin_unlock(¤t->mm->page_table_lock); return error; } @@ -257,9 +257,9 @@ static int do_mlockall(int flags) if (error) break; } - vmlist_modify_lock(current->mm); + spin_lock(¤t->mm->page_table_lock); merge_segments(current->mm, 0, TASK_SIZE); - vmlist_modify_unlock(current->mm); + spin_unlock(¤t->mm->page_table_lock); return error; } |