aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSuren Baghdasaryan <[email protected]>2023-08-04 15:27:21 +0000
committerAndrew Morton <[email protected]>2023-08-21 20:37:45 +0000
commite727bfd5e73a35ecbc4a01a15c659b9fafaa97c0 (patch)
treea49471600cde73c8b5114b24231d5a6619c8d640
parentmm: for !CONFIG_PER_VMA_LOCK equate write lock assertion for vma and mmap (diff)
downloadkernel-e727bfd5e73a35ecbc4a01a15c659b9fafaa97c0.tar.gz
kernel-e727bfd5e73a35ecbc4a01a15c659b9fafaa97c0.zip
mm: replace mmap with vma write lock assertions when operating on a vma
Vma write lock assertion always includes mmap write lock assertion and additional vma lock checks when per-VMA locks are enabled. Replace weaker mmap_assert_write_locked() assertions with stronger vma_assert_write_locked() ones when we are operating on a vma which is expected to be locked. Link: https://lkml.kernel.org/r/[email protected] Suggested-by: Jann Horn <[email protected]> Signed-off-by: Suren Baghdasaryan <[email protected]> Reviewed-by: Liam R. Howlett <[email protected]> Cc: Linus Torvalds <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
-rw-r--r--mm/hugetlb.c2
-rw-r--r--mm/memory.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 851457af0869..abfdcaf114f1 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -5029,7 +5029,7 @@ int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src,
src_vma->vm_start,
src_vma->vm_end);
mmu_notifier_invalidate_range_start(&range);
- mmap_assert_write_locked(src);
+ vma_assert_write_locked(src_vma);
raw_write_seqcount_begin(&src->write_protect_seq);
} else {
/*
diff --git a/mm/memory.c b/mm/memory.c
index 1113ee625a94..039dcbbcc7d2 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1312,7 +1312,7 @@ copy_page_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma)
* Use the raw variant of the seqcount_t write API to avoid
* lockdep complaining about preemptibility.
*/
- mmap_assert_write_locked(src_mm);
+ vma_assert_write_locked(src_vma);
raw_write_seqcount_begin(&src_mm->write_protect_seq);
}