[PATCH 0/2] maple_tree: Fix mas_prev() state regression.

From: Liam R. Howlett
Date: Thu Sep 21 2023 - 18:12:01 EST


Pedro Falcato contacted me on IRC with an mprotect regression which was
bisected back to the iterator changes for maple tree. Root cause
analysis showed the mas_prev() running off the end of the VMA space
(previous from 0) followed by mas_find(), would skip the first value.

This patch set introduces maple state underflow/overflow so the sequence
of calls on the maple state will return what the user expects.

Liam R. Howlett (2):
maple_tree: Add mas_active() to detect in-tree walks
maple_tree: Add MAS_UNDERFLOW and MAS_OVERFLOW states

include/linux/maple_tree.h | 11 ++
lib/maple_tree.c | 221 +++++++++++++++++++++++++++----------
lib/test_maple_tree.c | 87 ++++++++++++---
3 files changed, 246 insertions(+), 73 deletions(-)

--
2.39.2