Re: [PATCH] maple_tree: Fix mas_empty_area() wrapping

From: Sven Schnelle
Date: Tue Jul 19 2022 - 13:41:38 EST


Liam Howlett <liam.howlett@xxxxxxxxxx> writes:

> Set the error code correctly when at the left most node and search has
> been exhausted. This was an overflow bug.
>
> Reported-by: Sven Schnelle <svens@xxxxxxxxxxxxx>
> Signed-off-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx>

That fixes it, thanks!

Tested-by: Sven Schnelle <svens@xxxxxxxxxxxxx>

> ---
> lib/maple_tree.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index 1b8130f19c2e..0c0bda979693 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -4994,7 +4994,7 @@ static inline bool mas_anode_descend(struct ma_state *mas, unsigned long size)
> }
> next_slot:
> min = pivot + 1;
> - if (mas->last < min) {
> + if (mas->last <= pivot) {
> mas_set_err(mas, -EBUSY);
> return true;
> }