]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
maple_tree: Detect dead nodes in ma_data_end()
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Thu, 24 Nov 2022 15:49:27 +0000 (10:49 -0500)
committerLiam R. Howlett <Liam.Howlett@oracle.com>
Tue, 13 Dec 2022 21:03:41 +0000 (16:03 -0500)
If there is a dead node, then don't use any of the data and just return
0.  The caller will need to validate the node is not dead before using
the returned data anyways.

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

index a7da2f73c6827fead1879eee40a861296fa219b5..d8504912014eeb5bd0c78656a384208d862af5cd 100644 (file)
@@ -1402,6 +1402,9 @@ static inline unsigned char ma_data_end(struct maple_node *node,
 {
        unsigned char offset;
 
+       if (unlikely(ma_dead_node(node)))
+               return 0;
+
        if (type == maple_arange_64)
                return ma_meta_end(node, type);