mas_empty_area() search could potentially return a sub-optimal position for a VMAs as it is coded. This patch set is to address the issue by altering the maple tree search and the mmap call into that search. Changes from v2: - Addressed Peng Zhang's concerns around limit checking. - Updated testing code to work with size of 1 and added tests for this case. v2: https://lore.kernel.org/linux-mm/20230414185919.4175572-1-Liam.Howlett@xxxxxxxxxx/ v1: https://lore.kernel.org/linux-mm/20230414145728.4067069-1-Liam.Howlett@xxxxxxxxxx/ Liam R. Howlett (4): maple_tree: Make maple state reusable after mas_empty_area_rev() maple_tree: Update mtree_alloc_rrange() and mtree_alloc_range() testing maple_tree: Fix mas_empty_area() search mm/mmap: Regression fix for unmapped_area{_topdown} lib/maple_tree.c | 61 ++++++++++++++++++++++++------------------- lib/test_maple_tree.c | 27 ++++++++++++++----- mm/mmap.c | 48 ++++++++++++++++++++++++++++++---- 3 files changed, 97 insertions(+), 39 deletions(-) -- 2.39.2