[v3,0/4] Fix mas_empty_area() search

Message ID 20230421135559.2163923-1-Liam.Howlett@oracle.com
Headers
Series Fix mas_empty_area() search |

Message

Liam R. Howlett April 21, 2023, 1:55 p.m. UTC
  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@oracle.com/
v1: https://lore.kernel.org/linux-mm/20230414145728.4067069-1-Liam.Howlett@oracle.com/

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(-)