ibm,dynamic-memory property not found while loading kexec kernel (4.18.0-18-generic)

Bug #1828187 reported by bugproxy on 2019-05-08
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
The Ubuntu-power-systems project
High
Canonical Kernel Team
kexec-tools (Ubuntu)
High
Canonical Kernel Team
Bionic
High
Unassigned
Cosmic
High
Unassigned

Bug Description

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 <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=/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:~#
---

KDump kernel load:

root@ubuntu:~# kdump-config unload
 * unloaded kdump kernel
root@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@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=/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 <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-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")

bugproxy (bugproxy) on 2019-05-08
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)
Manoj Iyer (manjo) on 2019-05-13
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)
Connor Kuehl (connork) wrote :

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.

Changed in kexec-tools (Ubuntu):
status: New → In Progress
Changed in ubuntu-power-systems:
status: Triaged → In Progress

------- Comment From <email address hidden> 2019-05-22 07:24 EDT-------
Thanks for the taking the fix.
With this change, the device-tree is parsed appropriately..

Connor Kuehl (connork) wrote :

.debdiff attached to this comment for sponsorship consideration to Cosmic, adding SRU paperwork to original bug description.

Connor Kuehl (connork) wrote :

.debdiff attached to this comment for sponsorship consideration to Bionic.

description: updated

The attachment "kexec-tools_2.0.16-1ubuntu3.1.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
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

Hello bugproxy, or anyone else affected,

Accepted kexec-tools into cosmic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/kexec-tools/1:2.0.16-1ubuntu3.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-cosmic to verification-done-cosmic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-cosmic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in kexec-tools (Ubuntu Cosmic):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-cosmic
Changed in kexec-tools (Ubuntu Bionic):
status: In Progress → Fix Committed
tags: added: verification-needed-bionic
Brian Murray (brian-murray) wrote :

Hello bugproxy, or anyone else affected,

Accepted kexec-tools into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/kexec-tools/1:2.0.16-1ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in ubuntu-power-systems:
status: In Progress → Fix Committed

------- Comment From <email address hidden> 2019-06-24 10:07 EDT-------
Verified successfully on -bionic

---
root@ltc-zz14-lp8:~# kdump-config load
* Creating symlink /var/lib/kdump/vmlinuz
* Creating symlink /var/lib/kdump/initrd.img
Modified cmdline:BOOT_IMAGE=/boot/vmlinux-4.18.0-24-generic root=UUID=68d0e061-b9a3-4ad9-8c07-499ed39a5941 ro nr_cpus=1 systemd.unit=kdump-tools-dump.service irqpoll noirqdistrib nousb elfcorehdr=158912K
* loaded kdump kernel
root@ltc-zz14-lp8:~#
root@ltc-zz14-lp8:~#
root@ltc-zz14-lp8:~#
root@ltc-zz14-lp8:~# dpkg -l | grep kexec
ii kexec-tools 1:2.0.16-1ubuntu1.1 ppc64el tools to support fast kexec reboots
root@ltc-zz14-lp8:~#
---

tags: added: verification-done-bionic
removed: verification-needed-bionic
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2019-06-24 10:37 EDT-------
Verified successfully on cosmic:

---
root@ltc-zz14-lp8:~# dpkg -l | grep kexec-tools
ii kexec-tools 1:2.0.16-1ubuntu3.1 ppc64el tools to support fast kexec reboots
root@ltc-zz14-lp8:~#
root@ltc-zz14-lp8:~#
root@ltc-zz14-lp8:~#
root@ltc-zz14-lp8:~# kdump-config load
* Creating symlink /var/lib/kdump/vmlinuz
* Creating symlink /var/lib/kdump/initrd.img
Modified cmdline:BOOT_IMAGE=/boot/vmlinux-4.18.0-24-generic root=UUID=68d0e061-b9a3-4ad9-8c07-499ed39a5941 ro nr_cpus=1 systemd.unit=kdump-tools-dump.service irqpoll noirqdistrib nousb elfcorehdr=158720K
* loaded kdump kernel
root@ltc-zz14-lp8:~#
---

tags: added: verification-done verification-done-cosmic
removed: verification-needed verification-needed-cosmic
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package kexec-tools - 1:2.0.16-1ubuntu3.1

---------------
kexec-tools (1:2.0.16-1ubuntu3.1) cosmic; urgency=medium

  * Fix ibm,dynamic memory not found for ppc64le (LP: #1828187)
    - debian/patches/0001-kexec-add-a-helper-function-to-add-ranges.patch
    - debian/patches/0002-kexec-ppc64-add-support-to-parse-ibm-dynamic-memory-v2-property.patch

 -- Connor Kuehl <email address hidden> Tue, 21 May 2019 15:25:21 -0700

Changed in kexec-tools (Ubuntu Cosmic):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for kexec-tools has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package kexec-tools - 1:2.0.16-1ubuntu1.1

---------------
kexec-tools (1:2.0.16-1ubuntu1.1) bionic; urgency=medium

  * Fix ibm,dynamic memory not found for ppc64le (LP: #1828187)
    - debian/patches/0001-kexec-add-a-helper-function-to-add-ranges.patch
    - debian/patches/0002-kexec-ppc64-add-support-to-parse-ibm-dynamic-memory-v2-property.patch

 -- Connor Kuehl <email address hidden> Wed, 22 May 2019 08:02:40 -0700

Changed in kexec-tools (Ubuntu Bionic):
status: Fix Committed → Fix Released
Changed in ubuntu-power-systems:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers