diff options
Diffstat (limited to 'tools/testing/radix-tree/maple.c')
| -rw-r--r-- | tools/testing/radix-tree/maple.c | 16 | 
1 files changed, 16 insertions, 0 deletions
| diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c index 958ee9bdb316..4c89ff333f6f 100644 --- a/tools/testing/radix-tree/maple.c +++ b/tools/testing/radix-tree/maple.c @@ -108,6 +108,7 @@ static noinline void check_new_node(struct maple_tree *mt)  	MT_BUG_ON(mt, mn->slot[1] != NULL);  	MT_BUG_ON(mt, mas_allocated(&mas) != 0); +	mn->parent = ma_parent_ptr(mn);  	ma_free_rcu(mn);  	mas.node = MAS_START;  	mas_nomem(&mas, GFP_KERNEL); @@ -160,6 +161,7 @@ static noinline void check_new_node(struct maple_tree *mt)  		MT_BUG_ON(mt, mas_allocated(&mas) != i);  		MT_BUG_ON(mt, !mn);  		MT_BUG_ON(mt, not_empty(mn)); +		mn->parent = ma_parent_ptr(mn);  		ma_free_rcu(mn);  	} @@ -192,6 +194,7 @@ static noinline void check_new_node(struct maple_tree *mt)  		MT_BUG_ON(mt, not_empty(mn));  		MT_BUG_ON(mt, mas_allocated(&mas) != i - 1);  		MT_BUG_ON(mt, !mn); +		mn->parent = ma_parent_ptr(mn);  		ma_free_rcu(mn);  	} @@ -210,6 +213,7 @@ static noinline void check_new_node(struct maple_tree *mt)  			mn = mas_pop_node(&mas);  			MT_BUG_ON(mt, not_empty(mn));  			MT_BUG_ON(mt, mas_allocated(&mas) != j - 1); +			mn->parent = ma_parent_ptr(mn);  			ma_free_rcu(mn);  		}  		MT_BUG_ON(mt, mas_allocated(&mas) != 0); @@ -233,6 +237,7 @@ static noinline void check_new_node(struct maple_tree *mt)  			MT_BUG_ON(mt, mas_allocated(&mas) != i - j);  			mn = mas_pop_node(&mas);  			MT_BUG_ON(mt, not_empty(mn)); +			mn->parent = ma_parent_ptr(mn);  			ma_free_rcu(mn);  			MT_BUG_ON(mt, mas_allocated(&mas) != i - j - 1);  		} @@ -269,6 +274,7 @@ static noinline void check_new_node(struct maple_tree *mt)  			mn = mas_pop_node(&mas); /* get the next node. */  			MT_BUG_ON(mt, mn == NULL);  			MT_BUG_ON(mt, not_empty(mn)); +			mn->parent = ma_parent_ptr(mn);  			ma_free_rcu(mn);  		}  		MT_BUG_ON(mt, mas_allocated(&mas) != 0); @@ -294,6 +300,7 @@ static noinline void check_new_node(struct maple_tree *mt)  			mn = mas_pop_node(&mas2); /* get the next node. */  			MT_BUG_ON(mt, mn == NULL);  			MT_BUG_ON(mt, not_empty(mn)); +			mn->parent = ma_parent_ptr(mn);  			ma_free_rcu(mn);  		}  		MT_BUG_ON(mt, mas_allocated(&mas2) != 0); @@ -334,10 +341,12 @@ static noinline void check_new_node(struct maple_tree *mt)  	MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS + 2);  	mn = mas_pop_node(&mas);  	MT_BUG_ON(mt, not_empty(mn)); +	mn->parent = ma_parent_ptr(mn);  	ma_free_rcu(mn);  	for (i = 1; i <= MAPLE_ALLOC_SLOTS + 1; i++) {  		mn = mas_pop_node(&mas);  		MT_BUG_ON(mt, not_empty(mn)); +		mn->parent = ma_parent_ptr(mn);  		ma_free_rcu(mn);  	}  	MT_BUG_ON(mt, mas_allocated(&mas) != 0); @@ -375,6 +384,7 @@ static noinline void check_new_node(struct maple_tree *mt)  		mas_node_count(&mas, i); /* Request */  		mas_nomem(&mas, GFP_KERNEL); /* Fill request */  		mn = mas_pop_node(&mas); /* get the next node. */ +		mn->parent = ma_parent_ptr(mn);  		ma_free_rcu(mn);  		mas_destroy(&mas); @@ -382,10 +392,13 @@ static noinline void check_new_node(struct maple_tree *mt)  		mas_node_count(&mas, i); /* Request */  		mas_nomem(&mas, GFP_KERNEL); /* Fill request */  		mn = mas_pop_node(&mas); /* get the next node. */ +		mn->parent = ma_parent_ptr(mn);  		ma_free_rcu(mn);  		mn = mas_pop_node(&mas); /* get the next node. */ +		mn->parent = ma_parent_ptr(mn);  		ma_free_rcu(mn);  		mn = mas_pop_node(&mas); /* get the next node. */ +		mn->parent = ma_parent_ptr(mn);  		ma_free_rcu(mn);  		mas_destroy(&mas);  	} @@ -35369,6 +35382,7 @@ static noinline void check_prealloc(struct maple_tree *mt)  	MT_BUG_ON(mt, allocated != 1 + height * 3);  	mn = mas_pop_node(&mas);  	MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); +	mn->parent = ma_parent_ptr(mn);  	ma_free_rcu(mn);  	MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0);  	mas_destroy(&mas); @@ -35386,6 +35400,7 @@ static noinline void check_prealloc(struct maple_tree *mt)  	mas_destroy(&mas);  	allocated = mas_allocated(&mas);  	MT_BUG_ON(mt, allocated != 0); +	mn->parent = ma_parent_ptr(mn);  	ma_free_rcu(mn);  	MT_BUG_ON(mt, mas_preallocate(&mas, GFP_KERNEL) != 0); @@ -35756,6 +35771,7 @@ void farmer_tests(void)  	tree.ma_root = mt_mk_node(node, maple_leaf_64);  	mt_dump(&tree); +	node->parent = ma_parent_ptr(node);  	ma_free_rcu(node);  	/* Check things that will make lockdep angry */ |