Liam Howlett 7327e8111a maple_tree: fix mas_empty_area_rev() lower bound validation
mas_empty_area_rev() was not correctly validating the start of a gap
against the lower limit.  This could lead to the range starting lower than
the requested minimum.

Fix the issue by better validating a gap once one is found.

This commit also adds tests to the maple tree test suite for this issue
and tests the mas_empty_area() function for similar bound checking.

Link: https://lkml.kernel.org/r/20230111200136.1851322-1-Liam.Howlett@oracle.com
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216911
Fixes: 54a611b60590 ("Maple Tree: add new data structure")
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Reported-by: <amanieu@gmail.com>
  Link: https://lore.kernel.org/linux-mm/0b9f5425-08d4-8013-aa4c-e620c3b10bb2@leemhuis.info/
Tested-by: Holger Hoffsttte <holger@applied-asynchrony.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-01-31 16:44:07 -08:00
..
2022-05-09 17:20:37 -07:00
2021-07-08 11:48:20 -07:00
2022-12-13 10:43:59 -08:00
2022-10-24 12:12:32 -07:00
2021-05-06 19:24:12 -07:00
2022-09-26 12:19:12 -07:00
2018-08-16 12:14:42 -07:00
2021-01-21 14:06:00 -07:00
2022-03-07 12:48:35 -07:00
2021-08-19 09:02:55 +09:00
2022-12-12 17:28:58 -08:00
2022-09-01 18:04:43 +02:00
2022-04-22 21:30:57 +02:00
2021-01-03 20:05:18 -05:00
2022-03-07 12:48:35 -07:00
2022-04-29 14:38:01 -07:00
2022-07-10 13:55:49 -07:00
2022-10-03 14:03:21 -07:00
2022-12-13 10:43:59 -08:00
2021-08-19 09:02:55 +09:00
2022-12-14 09:15:43 -08:00
2022-12-19 12:33:32 -06:00
2022-12-13 19:29:45 -08:00
2021-07-08 11:48:20 -07:00
2022-12-16 03:54:54 -08:00
2021-07-08 11:48:20 -07:00
2022-12-14 12:20:00 -08:00
2018-10-16 13:45:44 +02:00
2022-12-14 12:20:00 -08:00
2022-11-08 15:06:56 -08:00
2022-10-03 17:34:32 -07:00
2021-07-08 11:48:20 -07:00
2022-12-13 10:43:59 -08:00
2021-07-08 11:48:20 -07:00
2022-06-03 10:34:34 -07:00
2021-06-18 11:43:09 +02:00
2021-07-08 11:48:20 -07:00
2022-11-11 18:18:05 -08:00
2022-01-20 08:52:54 +02:00
2018-10-15 16:31:29 -04:00
2022-12-13 15:47:48 -08:00