ibm,dynamic-memory property not found while loading kexec kernel (4.18.0-18-generic)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
The Ubuntu-power-systems project |
Fix Released
|
High
|
Canonical Kernel Team | ||
kexec-tools (Ubuntu) |
Fix Released
|
High
|
Canonical Kernel Team | ||
Bionic |
Fix Released
|
High
|
Unassigned | ||
Cosmic |
Fix Released
|
High
|
Unassigned |
Bug Description
For SRU:
[Impact]
* The ibm,dynamic-
* 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=
* 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 <email address hidden> - 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=
/proc/device-
Modified cmdline:
root@ubuntu:~#
---
KDump kernel load:
root@ubuntu:~# kdump-config unload
* unloaded kdump kernel
root@ubuntu:~# kdump-config load
* Creating symlink /var/lib/
* Creating symlink /var/lib/
/proc/device-
/proc/device-
Modified cmdline:
* loaded kdump kernel
root@ubuntu:~#
---
Contact Information = <email address hidden>
---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=
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 <email address hidden>:
-Attach ltrace and strace of userspace application.
== Comment: #1 - Hari Krishna Bathini <email address hidden> - 2019-05-07 13:44:25 ==
Since v4.16 kernel, ibm,dynamic-
in the kernel. This leaves kexec-tools on ppc64le broken without the below
fix patches:
https:/
("kexec: add a helper function to add ranges")
https:/
("kexec/ppc64: add support to parse ibm, dynamic-memory-v2 property")
tags: | added: architecture-ppc64le bugnameltc-177452 severity-high targetmilestone-inin--- |
Changed in ubuntu: | |
assignee: | nobody → Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage) |
affects: | ubuntu → kexec-tools (Ubuntu) |
Changed in ubuntu-power-systems: | |
importance: | Undecided → High |
status: | New → Triaged |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
Changed in kexec-tools (Ubuntu): | |
importance: | Undecided → High |
assignee: | Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage) → Canonical Kernel Team (canonical-kernel-team) |
Changed in kexec-tools (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in kexec-tools (Ubuntu Cosmic): | |
status: | New → In Progress |
Changed in kexec-tools (Ubuntu): | |
status: | In Progress → Fix Released |
Changed in kexec-tools (Ubuntu Bionic): | |
importance: | Undecided → High |
Changed in kexec-tools (Ubuntu Cosmic): | |
importance: | Undecided → High |
Changed in ubuntu-power-systems: | |
status: | In Progress → Fix Committed |
Changed in ubuntu-power-systems: | |
status: | Fix Committed → Fix Released |
tags: |
added: targetmilestone-inin18042 removed: targetmilestone-inin--- |
Hi Hari,
Thanks for the detailed bug report and patches. I've applied your patches and created a test 'kexec-tools' package. When you get a chance, could you download the .deb attached to this comment and confirm that it passes your test case with the patches applied?
The .deb can be installed with "sudo dpkg --install kexec-tools_ 2.0.16- 1ubuntu3. 1_ppc64el. deb".
If everything checks out, I can get started on SRU'ing this fix to the affected series.