>
> + for (j = MOD_TEXT; j <
>> MOD_MEM_NUM_TYPES; j++) {
>> + lm->load_symtable[j] =
>> NULL;
>> + lm->load_symend[j] = NULL;
>> + }
>> + } else { /* somehow this function runs for
>> unloaded modules */
>>
>
> Could you please explain why it may get into the "else" code path? And why
> do we need to handle this situation for now? But not needed before the
> module memory changes.
This path is used by "mod -d|-D" and reinit_modules() for unloaded modules.
The old procedure always does the cleanup and reinstall of the hash
entries, so kept it as it is.
I tried to add some debug information in the above code path, but did not observe any output(via the mod -d/-D). It's strange.
Thanks.
Lianbo