Comment # 29 on bug 1190434 from David Mair
For the record, the current discussion is a different bug from the original
report. However...

After debugging in gdb, the following error:

> WARNING: invalid linux_banner pointer: 65762078756e694c
> crash: /var/tmp/vmlinux.xz_CSsIpp and /var/crash/2023-05-02-00:13/vmcore
> do not match!

Occurs in this:

>     if (!(sp = symbol_search("linux_banner")))
>         error(FATAL, "linux_banner symbol does not exist?\n");
>     else
>         if ((sp->type == 'R') || (sp->type == 'r') ||
>                 (THIS_KERNEL_VERSION >= LINUX(2,6,11) &&
>                 (sp->type == 'D' || sp->type == 'd')) ||
>                 (machine_type("ARM") && sp->type == 'T') ||
>                 (machine_type("ARM64")))
>             linux_banner = symbol_value("linux_banner");
>         else
>             get_symbol_data("linux_banner", sizeof(ulong),

The reason in the case of the coredump I'm looking at is that sp->type for
linux_banner is 'B' so we take the last false block and get_symbol_data() when
we should set linux_banner = symbol_value() instead. I can test my case but I
won't commit it until I've seen the others experiencing it that I'm aware of
reporting a patch to test sp->type == 'B' works for their versions. I don't
have a crash 7 patched for now but I have a teammate who should be able to
check the result using a crash 8.0.3 build I just made with a fix.


You are receiving this mail because: