]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
maple_tree: Fix gap on skip entries caused by relocated data.
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Tue, 21 Apr 2020 19:52:31 +0000 (15:52 -0400)
committerLiam R. Howlett <Liam.Howlett@Oracle.com>
Fri, 30 Oct 2020 19:04:37 +0000 (15:04 -0400)
The gap should be zero for skip entries.

Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
lib/maple_tree.c

index bcf03a1fccebc73dc5022b3ed037684b09d0a43c..d11b98b781e48f1e7233e4ae9e6d5d6c532c4ccb 100644 (file)
@@ -2355,6 +2355,8 @@ curr_is_empty:
        mas_dup_state(&parent, &next);
        mas_ascend(&parent);
        mte_set_rcu_slot(parent.node, slot, XA_SKIP_ENTRY); // relocated.
+       if (mt_is_alloc(mas->tree))
+               mte_set_gap(parent.node, slot, 0);
        mte_set_parent(next.node, mn, mte_parent_slot(curr.node));
 
        mte_free(curr.node);