mmap locking API: convert mmap_sem comments
Convert comments that reference mmap_sem to reference mmap_lock instead. [akpm@linux-foundation.org: fix up linux-next leftovers] [akpm@linux-foundation.org: s/lockaphore/lock/, per Vlastimil] [akpm@linux-foundation.org: more linux-next fixups, per Michel] Signed-off-by: Michel Lespinasse <walken@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Vlastimil Babka <vbabka@suse.cz> Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com> Cc: Davidlohr Bueso <dbueso@suse.de> Cc: David Rientjes <rientjes@google.com> Cc: Hugh Dickins <hughd@google.com> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Jerome Glisse <jglisse@redhat.com> Cc: John Hubbard <jhubbard@nvidia.com> Cc: Laurent Dufour <ldufour@linux.ibm.com> Cc: Liam Howlett <Liam.Howlett@oracle.com> Cc: Matthew Wilcox <willy@infradead.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ying Han <yinghan@google.com> Link: http://lkml.kernel.org/r/20200520052908.204642-13-walken@google.com Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
3e4e28c5a8
commit
c1e8d7c6a7
20
mm/madvise.c
20
mm/madvise.c
@@ -40,7 +40,7 @@ struct madvise_walk_private {
|
||||
|
||||
/*
|
||||
* Any behaviour which results in changes to the vma->vm_flags needs to
|
||||
* take mmap_sem for writing. Others, which simply traverse vmas, need
|
||||
* take mmap_lock for writing. Others, which simply traverse vmas, need
|
||||
* to only take it for reading.
|
||||
*/
|
||||
static int madvise_need_mmap_write(int behavior)
|
||||
@@ -165,7 +165,7 @@ static long madvise_behavior(struct vm_area_struct *vma,
|
||||
|
||||
success:
|
||||
/*
|
||||
* vm_flags is protected by the mmap_sem held in write mode.
|
||||
* vm_flags is protected by the mmap_lock held in write mode.
|
||||
*/
|
||||
vma->vm_flags = new_flags;
|
||||
|
||||
@@ -285,9 +285,9 @@ static long madvise_willneed(struct vm_area_struct *vma,
|
||||
* Filesystem's fadvise may need to take various locks. We need to
|
||||
* explicitly grab a reference because the vma (and hence the
|
||||
* vma's reference to the file) can go away as soon as we drop
|
||||
* mmap_sem.
|
||||
* mmap_lock.
|
||||
*/
|
||||
*prev = NULL; /* tell sys_madvise we drop mmap_sem */
|
||||
*prev = NULL; /* tell sys_madvise we drop mmap_lock */
|
||||
get_file(file);
|
||||
mmap_read_unlock(current->mm);
|
||||
offset = (loff_t)(start - vma->vm_start)
|
||||
@@ -768,7 +768,7 @@ static long madvise_dontneed_free(struct vm_area_struct *vma,
|
||||
return -EINVAL;
|
||||
|
||||
if (!userfaultfd_remove(vma, start, end)) {
|
||||
*prev = NULL; /* mmap_sem has been dropped, prev is stale */
|
||||
*prev = NULL; /* mmap_lock has been dropped, prev is stale */
|
||||
|
||||
mmap_read_lock(current->mm);
|
||||
vma = find_vma(current->mm, start);
|
||||
@@ -791,7 +791,7 @@ static long madvise_dontneed_free(struct vm_area_struct *vma,
|
||||
if (end > vma->vm_end) {
|
||||
/*
|
||||
* Don't fail if end > vma->vm_end. If the old
|
||||
* vma was splitted while the mmap_sem was
|
||||
* vma was splitted while the mmap_lock was
|
||||
* released the effect of the concurrent
|
||||
* operation may not cause madvise() to
|
||||
* have an undefined result. There may be an
|
||||
@@ -826,7 +826,7 @@ static long madvise_remove(struct vm_area_struct *vma,
|
||||
int error;
|
||||
struct file *f;
|
||||
|
||||
*prev = NULL; /* tell sys_madvise we drop mmap_sem */
|
||||
*prev = NULL; /* tell sys_madvise we drop mmap_lock */
|
||||
|
||||
if (vma->vm_flags & VM_LOCKED)
|
||||
return -EINVAL;
|
||||
@@ -847,11 +847,11 @@ static long madvise_remove(struct vm_area_struct *vma,
|
||||
* Filesystem's fallocate may need to take i_mutex. We need to
|
||||
* explicitly grab a reference because the vma (and hence the
|
||||
* vma's reference to the file) can go away as soon as we drop
|
||||
* mmap_sem.
|
||||
* mmap_lock.
|
||||
*/
|
||||
get_file(f);
|
||||
if (userfaultfd_remove(vma, start, end)) {
|
||||
/* mmap_sem was not released by userfaultfd_remove() */
|
||||
/* mmap_lock was not released by userfaultfd_remove() */
|
||||
mmap_read_unlock(current->mm);
|
||||
}
|
||||
error = vfs_fallocate(f,
|
||||
@@ -1153,7 +1153,7 @@ int do_madvise(unsigned long start, size_t len_in, int behavior)
|
||||
goto out;
|
||||
if (prev)
|
||||
vma = prev->vm_next;
|
||||
else /* madvise_remove dropped mmap_sem */
|
||||
else /* madvise_remove dropped mmap_lock */
|
||||
vma = find_vma(current->mm, start);
|
||||
}
|
||||
out:
|
||||
|
Reference in New Issue
Block a user