Message ID | 20240215182756.3448972-4-lokeshgidra@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | per-vma locks in userfaultfd | expand |
On Thu, Feb 15, 2024 at 10:28 AM Lokesh Gidra <lokeshgidra@google.com> wrote: > > vma_assert_locked() is needed to replace mmap_assert_locked() once we > start using per-vma locks in userfaultfd operations. > > In !CONFIG_PER_VMA_LOCK case when mm is locked, it implies that the > given VMA is locked. Yes, makes sense. With per-vma locks used in more places, this makes replacing mmap_assert_locked() with vma_assert_locked() very straight-forward. > > Signed-off-by: Lokesh Gidra <lokeshgidra@google.com> Reviewed-by: Suren Baghdasaryan <surenb@google.com> > --- > include/linux/mm.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 3c85634b186c..5ece3ad34ef8 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -781,6 +781,11 @@ static inline struct vm_area_struct *lock_vma_under_rcu(struct mm_struct *mm, > return NULL; > } > > +static inline void vma_assert_locked(struct vm_area_struct *vma) > +{ > + mmap_assert_locked(vma->vm_mm); > +} > + > static inline void release_fault_lock(struct vm_fault *vmf) > { > mmap_read_unlock(vmf->vma->vm_mm); > -- > 2.43.0.687.g38aa6559b0-goog >
diff --git a/include/linux/mm.h b/include/linux/mm.h index 3c85634b186c..5ece3ad34ef8 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -781,6 +781,11 @@ static inline struct vm_area_struct *lock_vma_under_rcu(struct mm_struct *mm, return NULL; } +static inline void vma_assert_locked(struct vm_area_struct *vma) +{ + mmap_assert_locked(vma->vm_mm); +} + static inline void release_fault_lock(struct vm_fault *vmf) { mmap_read_unlock(vmf->vma->vm_mm);
vma_assert_locked() is needed to replace mmap_assert_locked() once we start using per-vma locks in userfaultfd operations. In !CONFIG_PER_VMA_LOCK case when mm is locked, it implies that the given VMA is locked. Signed-off-by: Lokesh Gidra <lokeshgidra@google.com> --- include/linux/mm.h | 5 +++++ 1 file changed, 5 insertions(+)