iter = rcu_dereference(iter_prev->p.next);
assert(iter_prev->p.reverse_hash <= node->p.reverse_hash);
for (;;) {
- if (unlikely(!iter))
+ if (unlikely(!clear_flag(iter)))
return;
if (clear_flag(iter)->p.reverse_hash > node->p.reverse_hash)
return;
iter = rcu_dereference(iter_prev->p.next);
assert(iter_prev->p.reverse_hash <= node->p.reverse_hash);
for (;;) {
- if (unlikely(!iter))
+ if (unlikely(!clear_flag(iter)))
goto insert;
if (clear_flag(iter)->p.reverse_hash > node->p.reverse_hash)
goto insert;
return -EPERM;
node = node->p.next;
assert(!is_removed(node));
- } while (node);
+ } while (clear_flag(node));
/* Internal sanity check: all nodes left should be dummy */
for (i = 0; i < t->size; i++) {
assert(t->tbl[i]->p.dummy);