[PATCH v5][makedumpfile 6/9] Add makedumpfile extensions support
Stephen Brennan
stephen.s.brennan at oracle.com
Mon Jun 15 10:12:07 PDT 2026
HAGIO KAZUHITO(萩尾 一仁) <k-hagio-ab at nec.com> writes:
> On 2026/04/14 19:26, Tao Liu wrote:
>
>> +static bool init_kallsyms_btf(void)
>> +{
>> + int count;
>> + bool ret = false;
>> + /* We will load module's btf/kallsyms on demand */
>> + bool init_ksyms_module = false;
>> + bool init_ktypes_module = false;
>> +
>> + if (check_ksyms_require_modname("vmlinux", &count)) {
>
> Thank you for the explanation [1].
>
> so which code path adds "vmlinux" to the mods array before this line?
> I could not find it.
Hello Kazu,
In kallsyms.c from patch 2, there is the line:
INIT_MOD_SYM(vmlinux, _stext);
This adds a struct ksym_info to the main makedumpfile executable's
array, which requests symbol "_stext" from vmlinux.
In kallsyms.c "init_kernel_kallsyms()", again from patch 2, the first
step is to call:
register_ksym_section((char *)__start_init_ksyms,
(char *)__stop_init_ksyms))
Which is a function generated by the macro REGISTER_SECTION(). The
implementation will use add_ksym_modname() whens it encounters this
symbol, ensuring that "vmlinux" is part of the modname array.
Thanks,
Stephen
> [1] https://lore.kernel.org/kexec/CAO7dBbUa_8H0fe+9bTNTQWjMVy9qCPiu0fo3g8XamiDS_Mr8eA@mail.gmail.com/
>
>
>> +
>> +bool has_extension_loaded(void)
>> +{
>> + return extension_opts_len > 0;
>
> If an extension is skipped, this looks > 0 with no extention.
> handle_cbs_len is better?
>
>
> Thanks,
> Kazu
More information about the kexec
mailing list