[PATCH v2 0/4] More strict maple tree lockdep

From: Liam R. Howlett
Date: Fri Jul 14 2023 - 15:56:20 EST


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