Re: [PATCH v2 0/8] Improve the validation for maple tree and some cleanup

From: Liam R. Howlett
Date: Tue Jul 11 2023 - 21:28:00 EST


* Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> [230711 06:10]:
> Hi Peng,
>
> On Tue, Jul 11, 2023 at 5:56 AM Peng Zhang <zhangpeng.00@xxxxxxxxxxxxx> wrote:
> > These patches do the following:
> > 001 - 002: Small cleanup to maple tree.
> > 003 - 006: Improve the validation for maple tree.
> > 007 - 008: Drop some functions that will no longer be used.
> >
> > Thanks Liam for the review.
> >
> > Changes since v1:
> > - Add fixes tag and the necessary Cc. [1/8]
> > - Add the verification that gaps beyond the node limit are zero. [3/8]
> > - Revise comment. [5/8]
> > - Reformat the code. [6/8]
> >
> > Peng Zhang (8):
> > maple_tree: set the node limit when creating a new root node
> > maple_tree: don't use MAPLE_ARANGE64_META_MAX to indicate no gap
> > maple_tree: make mas_validate_gaps() to check metadata
> > maple_tree: fix mas_validate_child_slot() to check last missed slot
> > maple_tree: make mas_validate_limits() check root node and node limit
> > maple_tree: update mt_validate()
> > maple_tree: replace mas_logical_pivot() with mas_safe_pivot()
> > maple_tree: drop mas_first_entry()
> >
> > include/linux/maple_tree.h | 2 -
> > lib/maple_tree.c | 258 ++++++++++++-------------------------
> > 2 files changed, 79 insertions(+), 181 deletions(-)
>
> Thanks for your series!
>
> I gave it a try with test_maple_tree on m68k/ARAnyM, and the net
> impact is:
>
> TEST STARTING
>
> BUG at next_prev_test:2014 (1)
> Pass: 3749128 Run:3749129
> -BUG at check_empty_area_window:2655 (1)
> -Pass: 3754275 Run:3754277
> -BUG at check_empty_area_window:2656 (1)
> -Pass: 3754275 Run:3754278
> -BUG at check_empty_area_window:2657 (1)
> -Pass: 3754275 Run:3754279
> -BUG at check_empty_area_window:2661 (1)
> -Pass: 3754275 Run:3754280
> -BUG at check_empty_area_window:2662 (1)
> -Pass: 3754275 Run:3754281
> -maple_tree: 3804518 of 3804524 tests passed
> +maple_tree: 3804523 of 3804524 tests passed
>
> So only one bug left to squash ;-)

That one is a bug for 32b in the test, I have two fixes and I'll send
them soon.

Thanks for re-testing.

Regards,
Liam