the path to safer flexible arrays in the kernel, thanks to the
counted_by attribute supported by Clang 18 and GCC 15.
There are a number of requirements to properly use the
counted_by attribute. One crucial requirement is that the
counter must be initialized before the first reference to the
flexible-array member. Another requirement is that the array must
always contain at least as many elements as indicated by the
counter.
See also: this article from 2023.