aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/radix-tree/test.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/testing/radix-tree/test.c')
-rw-r--r--tools/testing/radix-tree/test.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/tools/testing/radix-tree/test.c b/tools/testing/radix-tree/test.c
index d70adcd03d35..32973dd51ec5 100644
--- a/tools/testing/radix-tree/test.c
+++ b/tools/testing/radix-tree/test.c
@@ -63,16 +63,21 @@ void item_sanity(struct item *item, unsigned long index)
63 assert((item->index | mask) == (index | mask)); 63 assert((item->index | mask) == (index | mask));
64} 64}
65 65
66void item_free(struct item *item, unsigned long index)
67{
68 item_sanity(item, index);
69 free(item);
70}
71
66int item_delete(struct radix_tree_root *root, unsigned long index) 72int item_delete(struct radix_tree_root *root, unsigned long index)
67{ 73{
68 struct item *item = radix_tree_delete(root, index); 74 struct item *item = radix_tree_delete(root, index);
69 75
70 if (item) { 76 if (!item)
71 item_sanity(item, index); 77 return 0;
72 free(item); 78
73 return 1; 79 item_free(item, index);
74 } 80 return 1;
75 return 0;
76} 81}
77 82
78static void item_free_rcu(struct rcu_head *head) 83static void item_free_rcu(struct rcu_head *head)