----- 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 -- Crash-utility mailing list Crash-utility@redhat.com https://www.redhat.com/mailman/listinfo/crash-utility