----- Original Message -----
Hello Dave,
I have three patches today.
The 1st and 2nd patches address the issue that vmcore has no NT_PRSTATUS
notes.
- The 1st patch makes crash consider the case where the number of NT_PRSTATUS notes
is 0. Without this patch, crash leads to NULL pointer dereference when
using bt command for active tasks.
- The 2nd patch makes crash pass boot-time sanity check to nr_cpus memebr of diskdump
header on x86 and x86_64 if it is 0. On both architectures, we can get cpu
information from memory part. In fact, the value of nr_cpus member is not used
except for the sanity check.
I'm not sure whether this accomplishes much? If the vmcore is an x86/x86_64
compressed kdump, then it will not "goto err", because it would not be
DISKDUMP_VALID().
So AFAICT, this patch only changes things to allow the old-style "diskdump"
vmcore to continue. But you're right, x86/x86_64 should be allowed to continue
regardless whether the nr_cpus value is incorrectly set to 0.
I saw the situation where vmcore with no NT_PRSTATUS notes is
generated, on Xen HVM,
where the version of kexec not supporting Xen HVM. It determins if system is Xen Dom0
wrongly and uses interface for Dom0. As a result, vmcore doesn't contain any
NT_PRSTATUS note.
When converting this vmcore using makedumpfile, nr_cpus member of diskdump header of
the resulted vmcore is 0. So the 2nd patch is needed.
The 3rd patch is differnet from the above two, fixing potencial bug in panic task
detection code, which I found during investigation for the above two patches.
But sorry, I didn't test this yet.
I made every patch on top of crash version 6.1.0.
Thanks.
HATAYAMA, Daisuke
Queued for crash-6.1.1.
Thanks,
Dave