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

Bug #1828187 reported by bugproxy
12
This bug affects 1 person
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-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)
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)
Frank Heimes (fheimes)
Changed in ubuntu-power-systems:
importance: Undecided → High
status: New → Triaged
assignee: nobody → Canonical Kernel Team (canonical-kernel-team)
Manoj Iyer (manjo)
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)
Revision history for this message
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
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- 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..

Revision history for this message
Connor Kuehl (connork) wrote :

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

Revision history for this message
Connor Kuehl (connork) wrote :

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

description: updated
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

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
Mathew Hodson (mhodson)
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
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

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
Revision history for this message
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.

Frank Heimes (fheimes)
Changed in ubuntu-power-systems:
status: In Progress → Fix Committed
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- 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
Revision history for this message
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
Revision history for this message
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
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update 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.

Revision history for this message
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
Frank Heimes (fheimes)
Changed in ubuntu-power-systems:
status: Fix Committed → Fix Released
bugproxy (bugproxy)
tags: added: targetmilestone-inin18042
removed: targetmilestone-inin---
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.