]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mt_validate() detect root of size 0
authorLiam R. Howlett <Liam.Howlett@oracle.com>
Sun, 31 Aug 2025 00:44:23 +0000 (20:44 -0400)
committerLiam R. Howlett <Liam.Howlett@oracle.com>
Thu, 2 Oct 2025 17:28:03 +0000 (13:28 -0400)
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
lib/maple_tree.c

index 75cec454d050d5e760005c4d6f6ad3933beb7a88..a59e95bb6d9e9eaed4540b31ce16561d8a839219 100644 (file)
@@ -8262,8 +8262,10 @@ void mt_validate(struct maple_tree *mt)
        while (!mas_is_overflow(&mas)) {
                MAS_WARN_ON(&mas, mte_dead_node(mas.node));
                end = mas_data_end(&mas);
-               if (MAS_WARN_ON(&mas, (end < mt_min_slot_count(mas.node)) &&
-                               (!mte_is_root(mas.node)))) {
+               if (MAS_WARN_ON(&mas,
+                       ((end < mt_min_slot_count(mas.node)) &&
+                        (!mte_is_root(mas.node))) ||
+                       (mte_is_root(mas.node) && end < 1))) {
                        pr_err("Invalid size %u of " PTR_FMT "\n",
                               end, mas_mn(&mas));
                }