** 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 <sthou...@in.ibm.com> - 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 = sthou...@in.ibm.com

  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 sthou...@in.ibm.com:
  -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     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to