Linus asked for more strict maple tree lockdep checking [1] and for them to resume the normal path through Andrews tree. This series of patches adds checks to ensure the lock is held in write mode during the write path of the maple tree instead of checking if it's held at all. It also reduces the validate_mm() calls by consolidating into commonly used functions (patch 0001), and removes the necessity of holding the lock on the detached tree during munmap() operations. Changes since v1: - Moved the relaxing of the lockdep check for on-stack trees to its own patch. - Moved the on-stack tree destruction to after the lock is dropped in patch 0003. [1] https://lore.kernel.org/linux-mm/CAHk-=wjUp5+tcsHG89ieuwa0wUtSWWBWRt8xOsoZ1nskZbbk-g@xxxxxxxxxxxxxx/ v1: https://lore.kernel.org/linux-mm/CAHk-=wjUp5+tcsHG89ieuwa0wUtSWWBWRt8xOsoZ1nskZbbk-g@xxxxxxxxxxxxxx/ v1 part 2: https://lore.kernel.org/linux-mm/20230705204629.clctvnx4qdqoexyp@revolver/ Liam R. Howlett (4): mm/mmap: Clean up validate_mm() calls maple_tree: Relax lockdep checks for on-stack trees mm/mmap: Change detached vma locking scheme maple_tree: Be more strict about locking include/linux/maple_tree.h | 11 +++++++++-- lib/maple_tree.c | 10 ++++++++-- mm/mmap.c | 28 ++++++---------------------- 3 files changed, 23 insertions(+), 26 deletions(-) -- 2.39.2