----- Original Message ----- > > > > Jan, Thomas, > > > > Can you check whether this still works with vmcores that have modules loaded? > > My sample vmlinux/vmcores don't seem to have any modules loaded. > > Same here -- my sample vmcores don't have any modules installed -- but I cannot > see how this patch can possibly hurt, and it certainly makes sense. I'm going to > queue it for crash-6.0.9 unless it gets NAK'd before I release it. > > Thanks, > Dave Also, as we discussed before, I'm also going to add a "KERNEL MODULES BASE: <address>" line to the "mach" command. Thanks, Dave > > > > > diff --git a/arm.c b/arm.c > > index ea06e1a..7f63a10 100644 > > --- a/arm.c > > +++ b/arm.c > > @@ -305,14 +305,20 @@ arm_init(int when) > > error(WARNING, "Couldn't retrieve crash_notes\n"); > > break; > > > > - case POST_VM: > > + case POST_VM: { > > + ulong vaddr; > > + > > machdep->machspec->vmalloc_start_addr = vt->high_memory; > > /* > > * Modules are placed in first vmalloc'd area. This is 16MB > > * below PAGE_OFFSET. > > */ > > - machdep->machspec->modules_vaddr = first_vmalloc_address(); > > machdep->machspec->modules_end = machdep->kvbase - 1; > > + vaddr = first_vmalloc_address(); > > + if (vaddr > machdep->machspec->modules_end) > > + machdep->machspec->modules_vaddr = DEFAULT_MODULES_VADDR; > > + else > > + machdep->machspec->modules_vaddr = vaddr; > > > > if (init_unwind_tables()) { > > if (CRASHDEBUG(1)) > > @@ -323,6 +329,7 @@ arm_init(int when) > > } > > break; > > } > > + } > > } > > > > void > > @@ -614,7 +621,7 @@ static int > > arm_is_module_addr(ulong vaddr) > > { > > ulong modules_start; > > - ulong modules_end = machdep->kvbase - 1; > > + ulong modules_end = machdep->machspec->modules_end; > > > > if (!MODULES_VADDR) { > > /* > > @@ -622,7 +629,7 @@ arm_is_module_addr(ulong vaddr) > > * called, we use defaults here which is 16MB below kernel start > > * address. > > */ > > - modules_start = machdep->kvbase - 16 * 1024 * 1024; > > + modules_start = DEFAULT_MODULES_VADDR; > > } else { > > modules_start = MODULES_VADDR; > > } > > diff --git a/defs.h b/defs.h > > index caa87c0..e775e24 100755 > > --- a/defs.h > > +++ b/defs.h > > @@ -2438,6 +2438,7 @@ struct load_module { > > > > #define IS_VMALLOC_ADDR(X) arm_is_vmalloc_addr((ulong)(X)) > > > > +#define DEFAULT_MODULES_VADDR (machdep->kvbase - 16 * 1024 * 1024) > > #define MODULES_VADDR (machdep->machspec->modules_vaddr) > > #define MODULES_END (machdep->machspec->modules_end) > > #define VMALLOC_START (machdep->machspec->vmalloc_start_addr) > > > > -- > > Crash-utility mailing list > > Crash-utility@xxxxxxxxxx > > https://www.redhat.com/mailman/listinfo/crash-utility > > > > -- > Crash-utility mailing list > Crash-utility@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/crash-utility > -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility