** Changed in: linux (Ubuntu Jammy)
Importance: Undecided => Medium
** Changed in: linux (Ubuntu Jammy)
Importance: Medium => High
** Changed in: linux (Ubuntu Noble)
Importance: Undecided => High
** Changed in: linux (Ubuntu Jammy)
Status: In Progress => Fix Committed
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2075575
Title:
kexec fails in LPAR when some cpus are disabled
Status in The Ubuntu-power-systems project:
Fix Released
Status in linux package in Ubuntu:
Fix Released
Status in linux source package in Jammy:
Fix Committed
Status in linux source package in Noble:
Fix Released
Status in linux source package in Oracular:
Fix Released
Bug description:
[ Impact ]
powerpc/pseries: Fix scv instruction crash with kexec
kexec on pseries disables AIL (reloc_on_exc), required for scv
instruction support, before other CPUs have been shut down. This means
they can execute scv instructions after AIL is disabled, which causes an
interrupt at an unexpected entry location that crashes the kernel.
Change the kexec sequence to disable AIL after other CPUs have been
brought down.
As a refresher, the real-mode scv interrupt vector is 0x17000, and the
fixed-location head code probably couldn't easily deal with implementing
such high addresses so it was just decided not to support that interrupt
at all.
[ Fix ]
Backport the following commit:
- 21a741eb75f8 powerpc/pseries: Fix scv instruction crash with kexec
from upstream.
[ Test Plan ]
Repro steps:
1. Boot into an L1 lpar
2. Disable some cpus (eg: ppc64_cpu --cores-on=3)
3. Try to kexec.
This bug is reproducible only when we load the target kernel/initrd
and use "kexec -e" as follows:
kexec -l --initrd initramfs-$(uname -r).img vmlinuz-$(uname -r)
--append="$(cat /proc/cmdline)"
kexec -e
kexec works fine if we do a normal kexec without skipping the shutdown
path
kexec --initrd initramfs-$(uname -r).img vmlinuz-$(uname -r)
--append="$(cat /proc/cmdline)"
[ Where problems could occur ]
The fix affects the PowerPC pSeries kexec sequence.
A problem with this fix may manifest as system instability
during a kexec transition, unexpected exceptions in early boot of the new
kernel, or complete system crashes when attempting to perform a kernel reboot
via kexec.
---
== Comment: #0 - SEETEENA THOUFEEK <[email protected]> - 2024-08-02
03:11:31 ==
+++ This bug was initially created as a clone of Bug #206083 +++
---Problem Description---
kexec fails in LPAR when some cpus are disabled
Contact Information = [email protected]
Machine Type = na
---uname output---
na
---Debugger---
A debugger is not configured
---Steps to Reproduce---
Summary:
At L1 level, kexec fails if some of the cpus in the machine are disabled.
Distros and kernel versions used:
1. Distro versions used
a. L1 LPAR :
b. L2 :
Repro steps:
1. Boot into an L1 lpar
2. Disable some cpus (eg: ppc64_cpu --cores-on=3)
3. Try to kexec.
This bug is reproducible only when we load the target kernel/initrd
and use "kexec -e" as follows:
kexec -l --initrd initramfs-$(uname -r).img vmlinuz-$(uname -r)
--append="$(cat /proc/cmdline)"
kexec -e
kexec works fine if we do a normal kexec without skipping the shutdown
path
kexec --initrd initramfs-$(uname -r).img vmlinuz-$(uname -r)
--append="$(cat /proc/cmdline)"
Fix is upstream now:
https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=21a741eb75f80397e5f7d3739e24d7d75e619011
Thanks,
Sourabh Jain
please include in Ubuntu
Oops output:
no
Stack trace output:
no
System Dump Info:
The system is not configured to capture a system dump.
*Additional Instructions for [email protected]:
-Attach sysctl -a output output to the bug.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-power-systems/+bug/2075575/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp