summaryrefslogtreecommitdiffstats
path: root/mm/gup.c
diff options
context:
space:
mode:
authorJason Gunthorpe <jgg@nvidia.com>2023-01-24 16:34:27 -0400
committerAndrew Morton <akpm@linux-foundation.org>2023-02-09 16:51:44 -0800
commit961ba47242510ac7af7c66733e471b9d3a6ade1a (patch)
treea4c6227fa01e08ccc9d1918c0a1aa8373d5048df /mm/gup.c
parentd64e2dbc33a109a37ad4f5c18945c324345fe873 (diff)
downloadlinux-stable-961ba47242510ac7af7c66733e471b9d3a6ade1a.tar.gz
linux-stable-961ba47242510ac7af7c66733e471b9d3a6ade1a.tar.bz2
linux-stable-961ba47242510ac7af7c66733e471b9d3a6ade1a.zip
mm/gup: add an assertion that the mmap lock is locked
Since commit 5b78ed24e8ec ("mm/pagemap: add mmap_assert_locked() annotations to find_vma*()") we already have this assertion, it is just buried in find_vma(): __get_user_pages_locked() __get_user_pages() find_extend_vma() find_vma() Also check it at the top of __get_user_pages_locked() as a form of documentation. Link: https://lkml.kernel.org/r/6-v2-987e91b59705+36b-gup_tidy_jgg@nvidia.com Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Cc: Alistair Popple <apopple@nvidia.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Claudio Imbrenda <imbrenda@linux.ibm.com> Cc: David Hildenbrand <david@redhat.com> Cc: David Howells <dhowells@redhat.com> Cc: Mike Rapoport (IBM) <rppt@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/gup.c')
-rw-r--r--mm/gup.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/gup.c b/mm/gup.c
index 029de13c6718..bc3f56b7621e 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -1360,6 +1360,8 @@ static __always_inline long __get_user_pages_locked(struct mm_struct *mm,
must_unlock = true;
*locked = 1;
}
+ else
+ mmap_assert_locked(mm);
if (flags & FOLL_PIN)
mm_set_has_pinned_flag(&mm->flags);