lib/maple_tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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(-)
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;
}
--
2.35.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;
> }
© 2016 - 2026 Red Hat, Inc.