diff mbox series

maple_tree: Fix mas_empty_area() wrapping

Message ID 20220719170118.3296447-1-Liam.Howlett@oracle.com (mailing list archive)
State New
Headers show
Series maple_tree: Fix mas_empty_area() wrapping | expand

Commit Message

Liam R. Howlett July 19, 2022, 5:01 p.m. UTC
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@linux.ibm.com>
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
---
 lib/maple_tree.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sven Schnelle July 19, 2022, 5:39 p.m. UTC | #1
Liam Howlett <liam.howlett@oracle.com> 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@linux.ibm.com>
> Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>

That fixes it, thanks!

Tested-by: Sven Schnelle <svens@linux.ibm.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 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;
>  		}
diff mbox series

Patch

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;
 		}