** Description changed: + [Impact] + + On some arm systems makedumpfile fails to translate virtual to physical addresses properly. + This may result in makedumpfile looping forever exhausting + all memory, or translating a virtual address to an invalid physical address + and then failing and falling back to cp. + The reason it cannot resolve some addresses is because the PMD mask is wrong. + When physical address mask allows up to 48bits pmd mask should allow the + same, currently pmd mask is set to 40bits (see commit [1]). + + Commit [1] fixes this bug. + + [Test Case] + + To hit this bug you need a system that needs physical addresses over 1TB. + This may be either because you have a lot + of memory or because the firmware mapped some memory above 1TB for some + reason [1]. + + A user hit this bug because firmware mapped memory above 1TB and provided a + dump so I could reproduce the bug when running makedumpfile on the dump. + + [Regression Potential] + + This commit changes the PMD_SECTION_MASK for arm64. So any regression potential + would only affect arm64 systems. In addition PMD_SECTION_MASK is used in translation + from virtual to physical addresses and therefore any regression would happen during + this process. + + [Other] + + [1] + https://github.com/makedumpfile/makedumpfile/commit/7242ae4cb5288df626f464ced0a8b60fd669100b + + When testing kdump on Ubuntu 18.04.4 (arm64) GA kernel, makedumpfile fails. The test steps are as follows: # echo 1> / proc / sys / kernel / sysrq # echo c> / proc / sysrq-trigger The logs are as follows: kdump-tools[646]: starting kdump-tools: * running makedumpfile -c -d 31 /proc/vmcore /var/crash/202003251128/dump-incomplete kdump-tools[646]: readpage_elf: Attempt to read non-existent page at 0x0 kdump-tools[646]: readmem: type_addr: 1, addr:ff0, size:8 kdump-tools[646]: vaddr_to_paddr_arm64: Can't read pud kdump-tools[646]: readmem: Can't convert a virtual address(ffff9e653690) to physical address. kdump-tools[646]: readmem: type_addr: 0, addr:ffff9e653690, size:1032 kdump-tools[646]: validate_mem_section: Can't read mem_section array. kdump-tools[646]: get_mem_section: Could not validate mem_section. kdump-tools[646]: get_mm_sparsemem: Can't get the address of mem_section. kdump-tools[646]: makedumpfile Failed. kdump-tools[646]: * kdump-tools: makedumpfile failed, falling back to 'cp' But when I use the HWE kernel, I find that there is no such problem. The HEW kernel version: 5.3.0-42-generic
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1869465 Title: Kdump-Tools: Makedumpfile Failed, Falling Back To 'Cp' To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1869465/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
