[Crash-utility] Unknown osrelease information in vmcore with xen

Dave Anderson anderson at redhat.com
Fri Dec 11 14:07:25 UTC 2015



----- Original Message -----
> Hi,
> 
> I have a SuSE SLES11 vmcore with xen and tried to read the osrelease from the vmcore with
> # crash --osrelease vmcore
> unknown
> 
> The problem is that there are two notes in the vmcore starting with "VMCOREINFO":
> 
> Elf64_Nhdr:
>                n_namesz: 11 ("VMCOREINFO")
>                n_descsz: 1384
>                  n_type: 0 (unused)
>                          OSRELEASE=3.0.101-63-xen
>                ...
> Elf64_Nhdr:
>                n_namesz: 15 ("VMCOREINFO_XEN")
>                n_descsz: 4068
>                  n_type: 0 (unused)
>                ...
> 
> In the function dump_Elf64_Nhdr() I found:
>     vmcoreinfo = STRNEQ(buf, "VMCOREINFO");
> 
> But because the "VMCOREINFO_XEN" ist the second one in the file it wins!
> 
> When using
>     vmcoreinfo = STREQ(buf, "VMCOREINFO");
> all is fine and I get:
> # crash --osrelease vmcore
> 3.0.101-63-xen
> 
> So my question is: why is STRNEQ() used?
> Thanks!

Hello Dietmar,

As I recall, I did all of the note name checks that way because the length
of the name string is specified by the note->n_namesz field, and therefore
not necessarily guaranteed to be a NULL-terminated string?  In reality, 
they're probably will be a NULL there though.

Anyway, I wasn't even familiar with the existence of a VMCOREINFO_XEN note,
so please feel free to post a patch to address it.

Dave




More information about the Crash-utility mailing list