On Tue, Jun 11, 2024 at 12:46 PM Tao Liu <l...@redhat.com> wrote: > Hi Lianbo, > > The patch looks good to me, tested OK, so ack. > > Applied: https://github.com/crash-utility/crash/commit/6752571d8d782d07537a258a1ec8919ebd1308ad
Thanks Lianbo > Thanks, > Tao Liu > > On Wed, Jun 5, 2024 at 6:05 PM Lianbo Jiang <liji...@redhat.com> wrote: > > > > Kernel commit 223b5e57d0d5 ("mm/execmem, arch: convert remaining > > overrides of module_alloc to execmem") makes crash session loading > > failure as below: > > > > # ./crash -s > > crash: seek error: kernel virtual address: ffffffff826bb418 type: > "page_offset_base" > > > > For X86 64 architecture, currently crash will search for symbol > > "module_load_offset" to determine if the KASLR is enabled, and go > > into the relevant code block. But the symbols "module_load_offset" > > has been removed since Linux v6.10-rc1, which caused the current > > failure. > > > > And this issue can occur with live debugging and core dump file > > debugging. > > > > Let's check the symbol "kaslr_regions" instead of "module_load_offset" > > to fix it. > > > > Signed-off-by: Lianbo Jiang <liji...@redhat.com> > > --- > > symbols.c | 13 ++++++++----- > > 1 file changed, 8 insertions(+), 5 deletions(-) > > > > diff --git a/symbols.c b/symbols.c > > index b7627a83587a..1cdf21d86d69 100644 > > --- a/symbols.c > > +++ b/symbols.c > > @@ -619,9 +619,9 @@ strip_symbol_end(const char *name, char *buf) > > * or in /proc/kallsyms on a live system. > > * > > * Setting KASLR_CHECK will trigger a search for "module_load_offset" > > - * during the initial symbol sort operation, and if found, will > > - * set (RELOC_AUTO|KASLR). On live systems, the search is done > > - * here by checking /proc/kallsyms. > > + * or "kaslr_regions" during the initial symbol sort operation, and > > + * if found, will set (RELOC_AUTO|KASLR). On live systems, the search > > + * is done here by checking /proc/kallsyms. > > */ > > static void > > kaslr_init(void) > > @@ -646,7 +646,8 @@ kaslr_init(void) > > st->_stext_vmlinux = UNINITIALIZED; > > > > if (ACTIVE() && /* Linux 3.15 */ > > - (symbol_value_from_proc_kallsyms("module_load_offset") != > BADVAL)) { > > + ((symbol_value_from_proc_kallsyms("kaslr_regions") != > BADVAL) || > > + (symbol_value_from_proc_kallsyms("module_load_offset") != > BADVAL))) { > > kt->flags2 |= (RELOC_AUTO|KASLR); > > st->_stext_vmlinux = UNINITIALIZED; > > } > > @@ -14247,7 +14248,9 @@ numeric_forward(const void *P_x, const void *P_y) > > st->_stext_vmlinux = valueof(y); > > } > > if (kt->flags2 & KASLR_CHECK) { > > - if (STREQ(x->name, "module_load_offset") || > > + if (STREQ(x->name, "kaslr_regions") || > > + STREQ(y->name, "kaslr_regions") || > > + STREQ(x->name, "module_load_offset") || > > STREQ(y->name, "module_load_offset")) { > > kt->flags2 &= ~KASLR_CHECK; > > kt->flags2 |= (RELOC_AUTO|KASLR); > > -- > > 2.45.1 > > -- > > Crash-utility mailing list -- devel@lists.crash-utility.osci.io > > To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io > > https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/ > > Contribution Guidelines: https://github.com/crash-utility/crash/wiki > >
-- Crash-utility mailing list -- devel@lists.crash-utility.osci.io To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/ Contribution Guidelines: https://github.com/crash-utility/crash/wiki