.debdiff attached to this comment for sponsorship consideration to Bionic. ** Patch added: "kexec-tools_2.0.16-1ubuntu1.1.debdiff" https://bugs.launchpad.net/ubuntu/+source/kexec-tools/+bug/1828187/+attachment/5265778/+files/kexec-tools_2.0.16-1ubuntu1.1.debdiff
** Description changed: + For SRU: + + [Impact] + + * The ibm,dynamic-memory-v2 device tree property replaced the original + ibm,dynamic-memory property. Since kexec-tools doesn't know to look for + the "-v2" property yet, it fails to successfully parse the node using + the new "-v2" property. + + * These changes enable the new "-v2" property to be successfully parsed + from the node. + + [Test Case] + + * Load panic kernel or regular kernel with kexec command: + + kdump-config unload; kdump-config load + + OR + + kexec -l --append="`cat /proc/cmdline`" --initrd=/boot/initrd.img-`uname + -r` /boot/vmlinux-`uname -r` + + * Expected result: kexec loads without any warning/error messages + + [Testing] + + These changes were tested by Hari with a positive result on a 4.18 + kernel for ppc64el. + + [Regression Potential] + + * Low. + * These changes exist in 'kexec-tools' for disco and onwards (these kernels are all >= 4.16 where the -v2 property was enabled). + * The Bionic edge and Cosmic kernels have support for the -v2 property since they are also >= 4.16. + * The regular 4.15 Bionic kernel is the more interesting of the bunch in terms of regression potential since 4.15 is too early to have the -v2 property enabled. The changes introduced by this patch appear to only attempt "-v2" parsing if it was unable to parse the "-v1" node. The absence of the v1 node implies that the device tree is using the "v2" property. Since the "-v2" option is not enabled for the 4.15 kernel, if the "-v1" parsing fails, then the "-v2" parsing will certainly fail, and the code throws the same error condition is it did before the patch was applied anyway. + + Original bug description below. + --- + == Comment: #0 - Hari Krishna Bathini <hbath...@in.ibm.com> - 2019-05-07 13:37:51 == ---Problem Description--- On 4.18.0-18-generic kernel, kexec load command throws below traces: --- Regular kexec load: root@ubuntu:~# kexec -l --append="`cat /proc/cmdline`" --initrd=/boot/initrd.img-`uname -r` /boot/vmlinux-`uname -r` /proc/device-tree/ibm,dynamic-reconfiguration-memory/ibm,dynamic-memory: No such file or directory - Modified cmdline:BOOT_IMAGE=/boot/vmlinux-4.18.0-18-generic root=UUID=1aa9458c-3974-4cb4-9ab3-9ee03c0f4e5e ro crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M@128M - root@ubuntu:~# + Modified cmdline:BOOT_IMAGE=/boot/vmlinux-4.18.0-18-generic root=UUID=1aa9458c-3974-4cb4-9ab3-9ee03c0f4e5e ro crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M@128M + root@ubuntu:~# --- KDump kernel load: root@ubuntu:~# kdump-config unload - * unloaded kdump kernel + * unloaded kdump kernel root@ubuntu:~# kdump-config load - * Creating symlink /var/lib/kdump/vmlinuz - * Creating symlink /var/lib/kdump/initrd.img + * Creating symlink /var/lib/kdump/vmlinuz + * Creating symlink /var/lib/kdump/initrd.img /proc/device-tree/ibm,dynamic-reconfiguration-memory/ibm,dynamic-memory: No such file or directory /proc/device-tree/ibm,dynamic-reconfiguration-memory/ibm,dynamic-memory: No such file or directory - Modified cmdline:BOOT_IMAGE=/boot/vmlinux-4.18.0-18-generic root=UUID=1aa9458c-3974-4cb4-9ab3-9ee03c0f4e5e ro maxcpus=1 systemd.unit=kdump-tools-dump.service irqpoll noirqdistrib nousb elfcorehdr=158912K - * loaded kdump kernel - root@ubuntu:~# + Modified cmdline:BOOT_IMAGE=/boot/vmlinux-4.18.0-18-generic root=UUID=1aa9458c-3974-4cb4-9ab3-9ee03c0f4e5e ro maxcpus=1 systemd.unit=kdump-tools-dump.service irqpoll noirqdistrib nousb elfcorehdr=158912K + * loaded kdump kernel + root@ubuntu:~# --- - - Contact Information = hbath...@in.ibm.com - + + Contact Information = hbath...@in.ibm.com + ---uname output--- Linux ubuntu 4.18.0-18-generic #19~18.04.1-Ubuntu SMP Fri Apr 5 10:21:11 UTC 2019 ppc64le ppc64le ppc64le GNU/Linux - + ---Additional Hardware Info--- - na + na - - Machine Type = na - + Machine Type = na + ---Debugger--- A debugger is not configured - + ---Steps to Reproduce--- - Load panic kernel or regular kernel with kexec command: + Load panic kernel or regular kernel with kexec command: kdump-config unload; kdump-config load OR kexec -l --append="`cat /proc/cmdline`" --initrd=/boot/initrd.img-`uname -r` /boot/vmlinux-`uname -r` Actual Result: DT files are not found while loading the kernel Expected result: kexec loads without any warning/error messages - - Userspace tool common name: kexec-tools - - The userspace tool has the following bit modes: 64-bit + + Userspace tool common name: kexec-tools + + The userspace tool has the following bit modes: 64-bit Userspace rpm: kexec-tools - Userspace tool obtained from project website: na - + Userspace tool obtained from project website: na + *Additional Instructions for hbath...@in.ibm.com: -Attach ltrace and strace of userspace application. == Comment: #1 - Hari Krishna Bathini <hbath...@in.ibm.com> - 2019-05-07 13:44:25 == Since v4.16 kernel, ibm,dynamic-memory-v2 Device Tree Property is supported in the kernel. This leaves kexec-tools on ppc64le broken without the below fix patches: https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=c740fdb2048265551f77d3f0fe53b2fddc0c8489 ("kexec: add a helper function to add ranges") https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=b10924a7da3ca48c04982cd23daf04882afb1a87 ("kexec/ppc64: add support to parse ibm, dynamic-memory-v2 property") -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1828187 Title: ibm,dynamic-memory property not found while loading kexec kernel (4.18.0-18-generic) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-power-systems/+bug/1828187/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs