** Changed in: kexec-tools (Ubuntu Yakkety) Status: Confirmed => In Progress
-- You received this bug notification because you are a member of Kernel Packages, which is subscribed to kexec-tools in Ubuntu. https://bugs.launchpad.net/bugs/1694859 Title: arm64 kernel crashdump support Status in kexec-tools package in Ubuntu: Fix Released Status in linux package in Ubuntu: Fix Committed Status in makedumpfile package in Ubuntu: Confirmed Status in kexec-tools source package in Xenial: Confirmed Status in linux source package in Xenial: Won't Fix Status in makedumpfile source package in Xenial: Confirmed Status in kexec-tools source package in Yakkety: In Progress Status in linux source package in Yakkety: Won't Fix Status in makedumpfile source package in Yakkety: Confirmed Status in kexec-tools source package in Zesty: In Progress Status in linux source package in Zesty: Fix Committed Status in makedumpfile source package in Zesty: Confirmed Bug description: Note: Updates are being staged at ppa:dannf/arm64-kdump. [Impact] It is not possible to collect a kernel crash dump from a crashed arm64 server for later debugging. [Test Case] sudo apt install kdump-tools (reboot, so crashkernel= is added to the kernel commandline) echo c | sudo tee /proc/sysrq-trigger Crash dump should occur, with artifacts collected in /var/crash. If you want to verify that the dump is usable, install the corresponding linux-image-<ver>-dbgsym package and run: sudo crash /usr/lib/debug/boot/vmlinux-<ver> /var/crash/<crash>/dump.<crash> crash should successfully load, placing you at a "crash>" prompt. At that prompt, you can issue the 'bt' command to see a backtrace. [Regression Risk] = Kernel = 3 patches here touch code outside of arch/arm64/: memblock: add memblock_clear_nomap() This adds a new function with no callers, so regression risk is negligible. (A later patch adds a call to it under arch/arm64/). memblock: add memblock_cap_memory_range() This refactors some of the code in memblock_mem_limit_remove_map() into a new function. The only existing caller of memblock_mem_limit_remove_map() is under arch/arm64/, so the regression risk outside of arm64 is negligible. efi/libstub/arm*: Set default address and size cells values for an empty dtb Because this code is for EFI platforms that support device-tree, it is de-facto ARM-specific (as noted in the patch title). For arm64, we have mitigated the risk by explicit regression testing on several platforms: - Qualcomm QDF2400 - Cavium ThunderX CRB1S - HP m400 (X-Gene) - HiSilicon D05 (Hi07) = kexec-tools = For zesty, 10 patches are required to add kdump support. 0001-kexec-extend-the-semantics-of-kexec_iomem_for_each_l.patch: This modifies a function used on armhf & x86. The description explains the change, and why it does not impact those archs: ----- The current users of kexec_iomem_for_each_line(), arm, sh and x86, will not be affected by this change because * arm The callback function only returns -1 or 0, and the return value of kexec_iomem_for_each_line() will never be used. * sh, x86 The callback function may return (-1 for sh,) 0 or 1, but always returns 1 once we have reached the maximum number of entries allowed. Even so the current kexec_iomem_for_each_line() counts them up. This change actually fixes this bug. ----- 0002-kexec-generalize-and-rename-get_kernel_stext_sym.patch: This generalizes a function that was duplicated by arm & x86 and makes it common so arm64 can use it. The remaining 8 of these only touch code in kexec/arch/arm64, so regression risk for other architectures is negligible. Finally, I have tested this update on both i386 and amd64 VMs. i386 crashes do not currently work in zesty (filed LP: #1699874), and my test results show no change there. amd64 worked before, and continue to work with these changes. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/kexec-tools/+bug/1694859/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp