Unnamed repository
57382b3d12
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2184284 Resolves: rhbz#2184284 Upstream: makedumpfile commit 58553ad03187f0cf208d6c4a0dc026c6338e5edd Author: Daisuke Hatayama (Fujitsu) <d.hatayama@fujitsu.com> Date: Wed Mar 29 12:44:10 2023 +0000 [PATCH] sadump: fix failure of reading memory when 5-level paging is enabled makedumpfile fails as follows for memory dumps collected by sadump when 5-level paging is enabled on the corresponding systems: # makedumpfile -l -d 31 -x ./vmlinux ./dump.sadump dump.sadump-ld31 __vtop4_x86_64: Can't get a valid pgd. ...snip... __vtop4_x86_64: Can't get a valid pgd. calc_kaslr_offset: failed to calculate kaslr_offset and phys_base; default to 0 __vtop4_x86_64: Can't get a valid pgd. readmem: Can't convert a virtual address(ffffffff82fce960) to physical address. readmem: type_addr: 0, addr:ffffffff82fce960, size:1024 cpu_online_mask_init: Can't read cpu_online_mask memory. makedumpfile Failed. This is because 5-level paging support has not been done yet for sadump; the work of the 5-level paging support was done by the commit 30a3214a7193e94c551c0cebda5918a72a35c589 (PATCH 4/4 arch/x86_64: Add 5-level paging support) but that was focused on the core part only. Having said that, most of things has already been finished in the commit. What needs to be newly added for sadump is just how to check if 5-level paging is enabled for a given memory dump. For that purpose, let's refer to CR4.LA57, bit 12 of CR4, representing whether 5-level paging is enabled or not. We can do this because memory dumps collected by sadump have SMRAM as note information and they include CR4 together with the other control registers. Signed-off-by: HATAYAMA Daisuke <d.hatayama@fujitsu.com> Signed-off-by: Pingfan Liu <piliu@redhat.com> |
||
---|---|---|
.gitignore | ||
60-kdump.install | ||
98-kexec.rules | ||
98-kexec.rules.ppc64 | ||
dracut-early-kdump-module-setup.sh | ||
dracut-early-kdump.sh | ||
dracut-fadump-init-fadump.sh | ||
dracut-fadump-module-setup.sh | ||
dracut-kdump-capture.service | ||
dracut-kdump-emergency.service | ||
dracut-kdump-emergency.target | ||
dracut-kdump-error-handler.service | ||
dracut-kdump-error-handler.sh | ||
dracut-kdump.sh | ||
dracut-module-setup.sh | ||
dracut-monitor_dd_progress | ||
early-kdump-howto.txt | ||
fadump-howto.txt | ||
gating.yaml | ||
gen-kdump-conf.sh | ||
kdump-dep-generator.sh | ||
kdump-in-cluster-environment.txt | ||
kdump-lib-initramfs.sh | ||
kdump-lib.sh | ||
kdump-logger.sh | ||
kdump-migrate-action.sh | ||
kdump-restart.sh | ||
kdump-udev-throttler | ||
kdump.conf.5 | ||
kdump.service | ||
kdump.sysconfig | ||
kdump.sysconfig.aarch64 | ||
kdump.sysconfig.i386 | ||
kdump.sysconfig.ppc64 | ||
kdump.sysconfig.ppc64le | ||
kdump.sysconfig.s390x | ||
kdump.sysconfig.x86_64 | ||
kdumpctl | ||
kdumpctl.8 | ||
kexec-kdump-howto.txt | ||
kexec-tools-2.0.26-makedumpfile-sadump-fix-failure-of-reading-memory-when-5-le.patch | ||
kexec-tools.spec | ||
live-image-kdump-howto.txt | ||
mkdumprd | ||
mkdumprd.8 | ||
mkfadumprd | ||
rhelonly-kexec-tools-2.0.16-koji-build-fail-workaround.patch | ||
rhelonly-kexec-tools-2.0.18-eppic-fix-issues-with-hardening-flags.patch | ||
rhelonly-kexec-tools-2.0.20-makedumpfile-arm64-Add-support-for-ARMv8.2-LVA-52-bi.patch | ||
sources | ||
supported-kdump-targets.txt |