>> + for (; sp < sp_end; sp++) {
>> + if (MODULE_PSEUDO_SYMBOL(sp))
>> + continue;
>>
>
> This means that it will also skip searching for any *_INIT_* , is it
> expected behavior?
No, it skips only module pseudo symbols, which *start* with "_MODULE_".