aboutsummaryrefslogtreecommitdiff
path: root/mm/memory.c
diff options
context:
space:
mode:
authorGravatar Liam R. Howlett <Liam.Howlett@oracle.com> 2023-06-16 15:58:54 -0700
committerGravatar Linus Torvalds <torvalds@linux-foundation.org> 2023-06-24 14:13:54 -0700
commitf440fa1ac955e2898893f9301568435eb5cdfc4b (patch)
tree5acff3435c93fdcb5527124ae4aadfcbd46ab866 /mm/memory.c
parentpowerpc/mm: convert coprocessor fault to lock_mm_and_find_vma() (diff)
downloadlinux-f440fa1ac955e2898893f9301568435eb5cdfc4b.tar.gz
linux-f440fa1ac955e2898893f9301568435eb5cdfc4b.tar.bz2
linux-f440fa1ac955e2898893f9301568435eb5cdfc4b.zip
mm: make find_extend_vma() fail if write lock not held
Make calls to extend_vma() and find_extend_vma() fail if the write lock is required. To avoid making this a flag-day event, this still allows the old read-locking case for the trivial situations, and passes in a flag to say "is it write-locked". That way write-lockers can say "yes, I'm being careful", and legacy users will continue to work in all the common cases until they have been fully converted to the new world order. Co-Developed-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memory.c')
-rw-r--r--mm/memory.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/memory.c b/mm/memory.c
index 1dff248805bf..a81f5d0997ad 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -5368,7 +5368,7 @@ struct vm_area_struct *lock_mm_and_find_vma(struct mm_struct *mm,
goto fail;
}
- if (expand_stack(vma, addr))
+ if (expand_stack_locked(vma, addr, true))
goto fail;
success: