* Kent Overstreet <kent.overstreet@xxxxxxxxx> [220901 16:24]: > On Thu, Sep 01, 2022 at 10:34:52AM -0700, Suren Baghdasaryan wrote: > > Move mmap_lock assert function definitions up so that they can be used > > by other mmap_lock routines. > > > > Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx> > > --- > > include/linux/mmap_lock.h | 24 ++++++++++++------------ > > 1 file changed, 12 insertions(+), 12 deletions(-) > > > > diff --git a/include/linux/mmap_lock.h b/include/linux/mmap_lock.h > > index 96e113e23d04..e49ba91bb1f0 100644 > > --- a/include/linux/mmap_lock.h > > +++ b/include/linux/mmap_lock.h > > @@ -60,6 +60,18 @@ static inline void __mmap_lock_trace_released(struct mm_struct *mm, bool write) > > > > #endif /* CONFIG_TRACING */ > > > > +static inline void mmap_assert_locked(struct mm_struct *mm) > > +{ > > + lockdep_assert_held(&mm->mmap_lock); > > + VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_lock), mm); > > These look redundant to me - maybe there's a reason the VM developers want both, > but I would drop the VM_BUG_ON() and just keep the lockdep_assert_held(), since > that's the standard way to write that assertion. I think this is because the VM_BUG_ON_MM() will give you a lot more information and BUG_ON(). lockdep_assert_held() does not return a value and is a WARN_ON(). So they are partially redundant.