----- 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