On 2024/03/01 16:02, Aditya Gupta wrote: > Below error is noticed when running crash on vmcore collected from a linux-next > kernel crash (linux-next tag next-20240121): > > # crash /boot/vmlinuz-6.8.0-rc5-next-20240221 ./vmcore > …… > …… > For help, type “help”. > Type "apropos word" to search for commands related to "word"... > > crash: page excluded: kernel virtual address: c00000000219a2c0 type: “vmlist" > > This occured since getting the vmalloc area base address doesn't work in > crash now, due to 'vmap_area_list' being removed in the linux kernel with > below commit (in linux-next tree): > > commit 378eb24a0658dd922b29524e0ce35c6c43f56cba > mm/vmalloc: remove vmap_area_list > > As an alternative, the commit introduced 'VMALLOC_START' in vmcoreinfo to > get base address of vmalloc area, use it to return vmallow start address > instead of depending on vmap_area_list and vmlist > > Reported-by: Sachin Sant <sachinp@xxxxxxxxxxxxx> > Signed-off-by: Aditya Gupta <adityag@xxxxxxxxxxxxx> > --- > memory.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/memory.c b/memory.c > index b84e974a3325..b3027bd101cd 100644 > --- a/memory.c > +++ b/memory.c > @@ -17220,11 +17220,20 @@ first_vmalloc_address(void) > { > static ulong vmalloc_start = 0; > ulong vm_struct, vmap_area; > + char *vmalloc_start_string; > > if (DUMPFILE() && vmalloc_start) > return vmalloc_start; > > - if (vt->flags & USE_VMAP_AREA) { > + /* > + * 'vmap_area_list' and 'vmlist' in newer kernels might be empty, prefer > + * `VMALLOC_START` if exported in vmcoreinfo > + */ > + vmalloc_start_string = pc->read_vmcoreinfo("NUMBER(VMALLOC_START)"); > + if (vmalloc_start_string) { > + vmalloc_start = stol(vmalloc_start_string, QUIET, NULL); Thank you for the patch. seems htol is better, changed and applied. https://github.com/crash-utility/crash/commit/5b24e363a8980dd4f878b0494cf78d24559a7a67 Thanks, Kazu > + free(vmalloc_start_string); > + } else if (vt->flags & USE_VMAP_AREA) { > get_symbol_data("vmap_area_list", sizeof(void *), &vmap_area); > if (!vmap_area) > return 0; -- Crash-utility mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxxxxxx https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/ Contribution Guidelines: https://github.com/crash-utility/crash/wiki