[Bug 1828187] [NEW] ibm, dynamic-memory property not found while loading kexec kernel (4.18.0-18-generic)

Launchpad Bug Tracker 1828187 at bugs.launchpad.net
Wed May 22 20:22:36 UTC 2019


You have been subscribed to a public bug by Ubuntu Foundations Team Bug Bot (crichton):

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 <hbathini at 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 at 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 at 128M
root at ubuntu:~#
---

KDump kernel load:

root at ubuntu:~# kdump-config unload
 * unloaded kdump kernel
root at ubuntu:~# kdump-config load
 * 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 at ubuntu:~#
---

Contact Information = hbathini at 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

Machine Type = na

---Debugger---
A debugger is not configured

---Steps to Reproduce---
 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 rpm: kexec-tools

Userspace tool obtained from project website:  na

*Additional Instructions for hbathini at in.ibm.com:
-Attach ltrace and strace of userspace application.

== Comment: #1 - Hari Krishna Bathini <hbathini at 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")

** Affects: ubuntu-power-systems
     Importance: High
     Assignee: Canonical Kernel Team (canonical-kernel-team)
         Status: In Progress

** Affects: kexec-tools (Ubuntu)
     Importance: High
     Assignee: Canonical Kernel Team (canonical-kernel-team)
         Status: In Progress


** Tags: architecture-ppc64le bugnameltc-177452 patch severity-high targetmilestone-inin---
-- 
ibm,dynamic-memory property not found while loading kexec kernel (4.18.0-18-generic)
https://bugs.launchpad.net/bugs/1828187
You received this bug notification because you are a member of Ubuntu Sponsors Team, which is subscribed to the bug report.




More information about the Ubuntu-sponsors mailing list