In quic_insert_new_range(), the variable 'first' is a struct eb64_node*,
but pool_free expects a struct quic_arng_node*. While the addresses are identical
(since 'first' is the first member of quic_arng_node), this is technically
incorrect and should use eb64_entry() for proper type safety.
Must be backported to all versions.
first = eb64_first(&arngs->root);
BUG_ON(first == NULL);
eb64_delete(first);
- pool_free(pool_head_quic_arng, first);
+ pool_free(pool_head_quic_arng, eb64_entry(first, struct quic_arng_node, first));
arngs->sz--;
}