[PATCH 2/3] maple_tree: restart walk on correct status

Liam R. Howlett Liam.Howlett at oracle.com
Mon Feb 10 06:20:46 PST 2025


* Wei Yang <richard.weiyang at gmail.com> [250207 20:26]:
> Commit a8091f039c1e ("maple_tree: add MAS_UNDERFLOW and MAS_OVERFLOW
> states") adds more status during maple tree walk. But it introduce a
> typo on the status check during walk.
> 
> It expects to mean neither active nor start, we would restart the walk,
> while current code means we would always restart the walk.
> 
> Fixes: a8091f039c1e ("maple_tree: add MAS_UNDERFLOW and MAS_OVERFLOW states")
> Signed-off-by: Wei Yang <richard.weiyang at gmail.com>
> CC: Liam R. Howlett <Liam.Howlett at Oracle.com>
> CC: <stable at vger.kernel.org>

Reviewed-by: Liam R. Howlett <Liam.Howlett at Oracle.com>

> ---
>  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 d31f0a2858f7..e64ffa5b9970 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -4899,7 +4899,7 @@ void *mas_walk(struct ma_state *mas)
>  {
>  	void *entry;
>  
> -	if (!mas_is_active(mas) || !mas_is_start(mas))
> +	if (!mas_is_active(mas) && !mas_is_start(mas))
>  		mas->status = ma_start;
>  retry:
>  	entry = mas_state_walk(mas);
> -- 
> 2.34.1
> 



More information about the maple-tree mailing list