On Tue, Apr 21, 2020 at 5:14 PM Michel Lespinasse <walken@xxxxxxxxxx> wrote: > +static inline void mmap_assert_locked(struct mm_struct *mm) > +{ > + if (IS_ENABLED(CONFIG_LOCKDEP) && debug_locks) > + VM_BUG_ON_MM(!lockdep_is_held(&mm->mmap_sem), mm); > + else > + VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_sem), mm); > +} Turns out this function definition does not work for !CONFIG_LOCKDEP as lockdep_is_held is not defined in that case. The following should work instead: static inline void mmap_assert_locked(struct mm_struct *mm) { #ifdef CONFIG_LOCKDEP if (debug_locks) { VM_BUG_ON_MM(!lockdep_is_held(&mm->mmap_lock), mm); return; } #endif VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_lock), mm); }