maple_tree: index has been checked to be smaller than pivot
authorWei Yang <richard.weiyang@gmail.com>
Sat, 16 Nov 2024 01:48:03 +0000 (01:48 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 14 Jan 2025 06:40:39 +0000 (22:40 -0800)
Patch series "mas_anode_descend() related cleanup".

Some cleanup related to mas_anode_descend().

This patch (of 3):

At the beginning of loop, it has checked the range is in lower bounds.

Link: https://lkml.kernel.org/r/20241116014805.11547-1-richard.weiyang@gmail.com
Link: https://lkml.kernel.org/r/20241116014805.11547-2-richard.weiyang@gmail.com
Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
Reviewed-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/maple_tree.c

index 36e603645a3069aa9949b7f6a05289c0a6f8f87d..57603524e2dd5dbc9915adc99211fb872965fc0e 100644 (file)
@@ -4882,13 +4882,12 @@ static inline bool mas_anode_descend(struct ma_state *mas, unsigned long size)
                                found = true;
                                goto done;
                        }
-                       if (mas->index <= pivot) {
-                               mas->node = mas_slot(mas, slots, offset);
-                               mas->min = min;
-                               mas->max = pivot;
-                               offset = 0;
-                               break;
-                       }
+
+                       mas->node = mas_slot(mas, slots, offset);
+                       mas->min = min;
+                       mas->max = pivot;
+                       offset = 0;
+                       break;
                }
 next_slot:
                min = pivot + 1;