0feb109818
Backport from upstream. commit 38d921a2ef50ebd36258097553626443ffe27496 Author: Coiby Xu <coxu@redhat.com> Date: Tue Jun 15 18:26:31 2021 +0800 [PATCH] check for invalid physical address of /proc/kcore when finding max_paddr Kernel commit 464920104bf7adac12722035bfefb3d772eb04d8 ("/proc/kcore: update physical address for kcore ram and text") sets an invalid paddr (0xffffffffffffffff = -1) for PT_LOAD segments of not direct mapped regions: $ readelf -l /proc/kcore ... Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align NOTE 0x0000000000000120 0x0000000000000000 0x0000000000000000 0x0000000000002320 0x0000000000000000 0x0 LOAD 0x1000000000010000 0xd000000000000000 0xffffffffffffffff ^^^^^^^^^^^^^^^^^^ 0x0001f80000000000 0x0001f80000000000 RWE 0x10000 makedumpfile uses max_paddr to calculate the number of sections for sparse memory model thus wrong number is obtained based on max_paddr (-1). This error could lead to the failure of copying /proc/kcore for RHEL-8.5 on ppc64le machine [1]: $ makedumpfile /proc/kcore vmcore1 get_mem_section: Could not validate mem_section. get_mm_sparsemem: Can't get the address of mem_section. makedumpfile Failed. Let's check if the phys_start of the segment is a valid physical address to fix this problem. [1] https://bugzilla.redhat.com/show_bug.cgi?id=1965267 Reported-by: Xiaoying Yan <yiyan@redhat.com> Signed-off-by: Coiby Xu <coxu@redhat.com> Signed-off-by: Tao Liu <ltao@redhat.com> Acked-by: Kairui Song <kasong@redhat.com> |
||
---|---|---|
tests | ||
.gitignore | ||
60-kdump.install | ||
98-kexec.rules | ||
98-kexec.rules.ppc64 | ||
dracut-early-kdump-module-setup.sh | ||
dracut-early-kdump.sh | ||
dracut-kdump-capture.service | ||
dracut-kdump-emergency.service | ||
dracut-kdump-emergency.target | ||
dracut-kdump-error-handler.sh | ||
dracut-kdump.sh | ||
dracut-module-setup.sh | ||
dracut-monitor_dd_progress | ||
early-kdump-howto.txt | ||
fadump-howto.txt | ||
kdump-dep-generator.sh | ||
kdump-in-cluster-environment.txt | ||
kdump-lib-initramfs.sh | ||
kdump-lib.sh | ||
kdump-logger.sh | ||
kdump-udev-throttler | ||
kdump.conf | ||
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.22-makedumpfile-check-for-invalid-physical-address-proc-kcore-when-finding-max_paddr.patch | ||
kexec-tools-2.0.22-makedumpfile-Increase-SECTION_MAP_LAST_BIT-to-5.patch | ||
kexec-tools.spec | ||
live-image-kdump-howto.txt | ||
mkdumprd | ||
mkdumprd.8 | ||
README | ||
sources | ||
zanata-notes.txt |
Adding a patch to kexec-tools ============================= There is a mailing list kexec@lists.fedoraproject.org where all the dicussion related to fedora kexec-tools happen. All the patches are posted there for inclusion and committed to kexec-tools after review. So if you want your patches to be included in fedora kexec-tools package, post these to kexec@lists.fedoraproject.org. One can subscribe to list and browse through archives here. https://admin.fedoraproject.org/mailman/listinfo/kexec