----- Original Message ----- > > Hi Sergio, > > I have one obvious question. Throughout the patch-set you are using > KDUMP_DUMPFILE() as a qualifier, which is restricted to ELF vmcores > only. While the use of ELF vmcores is an option, it's far more likely > that the output format of "virsh dump --memory-only" will utilize one > of the compressed kdump formats, using zlib, lzo or snappy. > > Dave And aside from support for compressed kdumps, i.e., DISKDUMP_DUMPFILE(), when I requested segregation of this QEMU-dumps-with-no-VMCOREINFO code, here's what I meant. Instead of using KDUMP_DUMPFILE() and/or DISKDUMP_DUMPFILE() as top-level qualifiers for this patchset, the qualifier should restrict it to only virsh dump generated dumpfiles that do not have VMCOREINFO notes. Note that these pc->flags2 bits already exist: QEMU_MEM_DUMP_ELF QEMU_MEM_DUMP_COMPRESSED VMCOREINFO For this patchset, I suggest creating a new QEMU_MEM_DUMP_NO_VMCOREINFO() macro that looks something like: #define QEM_MEM_DUMP_NO_VMCOREINFO() \ ((pc->flags2 & (QEMU_MEM_DUMP_ELF|QEMU_MEM_DUMP_COMPRESSED)) && !(pc->flags2 & VMCOREINFO)) Then after any "if (QEM_MEM_DUMP_NO_VMCOREINFO()" qualifier applies, you can use KDUMP_DUMPFILE() or DISKDUMP_DUMPFILE() within that code section to branch appropriately. Dave > > > ----- Original Message ----- > > Commit 45b74b89530d611b3fa95a1041e158fbb865fa84 added support for > > calculating phys_base and kernel offset for KASLR-enabled kernels on > > SADUMPs by using a technique developed by Takao Indoh. Originally, the > > patchset included support for KDUMPs, but this was dropped in v2, as it > > was deemed unnecessary due to the implementation of the vmcoreinfo > > device in QEMU. > > > > Sadly, there are many reasons for which the vmcoreinfo device may not be > > present in the moment of taking the memory dump from a VM, ranging from > > a Host running older QEMU/libvirt versions, to misconfigured VMs or > > environments running Hypervisors that doesn't support this device. > > > > This patchset generalizes the kaslr related functions from sadump.c > > moving them to kaslr_helper.c, and makes KDUMP analysis fallback to > > KASLR offset calculation if vmcoreinfo data is missing. > > > > These changes have been successfully tested with a 3.10.0-830.el7.x86_64 > > under the following conditions: > > > > - kdump with KASLR and vmcoreinfo > > > > - kdump with KASLR but no vmcoreinfo > > > > - kdump without KASLR ("nokaslr" kernel command line option) > > > > It was also tested that a "crash" patched with these changes still > > builds and runs (live and kdump debugging) on an aarch64 machine. > > > > Sergio Lopez (2): > > Move kaslr related functions from sadump.c to kaslr_helper.c > > kdump: if vmcoreinfo is missing, try to infer kaslr offset > > > > Makefile | 7 +- > > defs.h | 15 ++ > > kaslr_helper.c | 466 > > ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > netdump.c | 73 +++++++++ > > netdump.h | 1 + > > sadump.c | 487 > > +++++---------------------------------------------------- > > symbols.c | 29 ++-- > > x86_64.c | 14 +- > > 8 files changed, 629 insertions(+), 463 deletions(-) > > create mode 100644 kaslr_helper.c > > > > -- > > 2.14.3 > > > > > -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility