diff options
Diffstat (limited to 'tools/testing/radix-tree/test.c')
-rw-r--r-- | tools/testing/radix-tree/test.c | 17 |
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 | ||
66 | void item_free(struct item *item, unsigned long index) | ||
67 | { | ||
68 | item_sanity(item, index); | ||
69 | free(item); | ||
70 | } | ||
71 | |||
66 | int item_delete(struct radix_tree_root *root, unsigned long index) | 72 | int 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 | ||
78 | static void item_free_rcu(struct rcu_head *head) | 83 | static void item_free_rcu(struct rcu_head *head) |