** Changed in: ubuntu-z-systems
       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/1962578

Title:
  [UBUNTU 20.04] Fix SIGP processing on KVM/s390

Status in Ubuntu on IBM z Systems:
  Fix Committed
Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Focal:
  Fix Committed
Status in linux source package in Impish:
  Fix Committed

Bug description:
  SRU Justification:
  ==================

  [Impact]

  * The SIGP processing on KVM/s390x is incorrect and not fully conform to
    the 'Principles of Operations', the IBM Z architecture definition
    and documentation.

  * KVM: SIGP RESTART is reporting a CPU state 'stopped' after SIGP RESTART
    was issued, while it should report a 'busy' condition until the CPU is
    really started.

  * The fix for this consists of three patches:
    812de04661c4 "KVM: s390: Clarify SIGP orders versus STOP/RESTART"
    435d17955519 "KVM: s390: Add a routine for setting userspace CPU state"
    4563bcad46bf "KVM: s390: Simplify SIGP Set Arch handling"
    whereas 812de04661c4 already landed via upstream stable,
    hence only two are left and need to be cherry-picked:

  [Fix]

  * 67cf68b6a5ccac8bc7dfef0a220b59af4c83fd2c 67cf68b6a5cc "KVM: s390:
  Add a routine for setting userspace CPU state"

  * 8eeba194a32e0f50329354a696baaa2e3d9accc5 8eeba194a32e "KVM: s390:
  Simplify SIGP Set Arch handling"

  [Test Case]

  * Install an LPAR on IBM Z (z13+) or LinuxONE (Emperor / Rockhopper)
    with Ubuntu Server 20.04 using kernel standard kernel 5.4.

  * Setup this LPAR as QEMU/KVM host and a focal VM as guest.

  * The test itself is the following unit test:
    https://lore.kernel.org/r/20220303210425.1693486-1-far...@linux.ibm.com/

  * The test and verification will be done by the IBM Z team.

  [Where problems could occur]

  * A broken patch could harm KVM ioctl on s390x or the (virtual) CPU
    state control in general.

  * The SIGP handing (on s390x) can become broken, which could lead to
    incorrect (virtual) CPU states.

  * In worst case KVM can become broken on s390x entirely.

  * The modified code is all s390x specific QEMU/KVM code,
    no common code is touched.

  [Other]

  * The two remaining patches are upstream since 5.16,
    the first one already landed in 5.4 via upstream stable bug LP#1959701
    and in 5.13 via upstream stable bug LP#1960861.

  * The patches already landed in jammy (master-next) based on LP#1959735,
    hence only SRU to impish and focal is needed.

  * This patches got discussed here:
    https://lore.kernel.org/all/20211008203112.1979843-2-far...@linux.ibm.com/

  * This not only fixes the SIGP processing, but is also important in terms of
    long term maintainability.

  __________

  Description:
     KVM: SIGP RESTART is reporting a CPU state 'stopped' after SIGP RESTART 
was issued, while it should report a 'busy' condition until the CPU is really 
started.

   The patches to fix this have already been picked for jammy/master-
  next:

  812de04661c4 "KVM: s390: Clarify SIGP orders versus STOP/RESTART"
  435d17955519 "KVM: s390: Add a routine for setting userspace CPU state"
  4563bcad46bf "KVM: s390: Simplify SIGP Set Arch handling"

   For Ubuntu 20.04 the focal/master-next already contains:
  d74b0d2d38d3 KVM: s390: Clarify SIGP orders versus STOP/RESTART

   so we additionally need the following two upstream commits in focal
  67cf68b6a5cc KVM: s390: Add a routine for setting userspace CPU state
  8eeba194a32e KVM: s390: Simplify SIGP Set Arch handling

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1962578/+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