[UBUNTU 20.04] Fix SIGP processing on KVM/s390
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
High
|
Skipper Bug Screeners | ||
linux (Ubuntu) |
Fix Released
|
High
|
Skipper Bug Screeners | ||
Focal |
Fix Released
|
Medium
|
Canonical Kernel Team | ||
Impish |
Fix Released
|
Medium
|
Canonical Kernel Team |
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]
* 67cf68b6a5ccac8
* 8eeba194a32e0f5
[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://<email address hidden>/
* 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://<email address hidden>/
* 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
tags: | added: architecture-s39064 bugnameltc-196454 severity-high targetmilestone-inin--- |
Changed in ubuntu: | |
assignee: | nobody → Skipper Bug Screeners (skipper-screen-team) |
affects: | ubuntu → linux (Ubuntu) |
Changed in ubuntu-z-systems: | |
assignee: | nobody → Skipper Bug Screeners (skipper-screen-team) |
importance: | Undecided → High |
Changed in linux (Ubuntu): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Jammy): | |
status: | New → Fix Released |
status: | Fix Released → In Progress |
no longer affects: | linux (Ubuntu Jammy) |
summary: |
- [UBUNTU 20.04] Fix SIGP processing (KVM: s390) + [UBUNTU 20.04] Fix SIGP processing on KVM/s390 |
description: | updated |
Changed in linux (Ubuntu Impish): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Impish): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
Changed in ubuntu-z-systems: | |
status: | In Progress → Fix Committed |
tags: |
added: targetmilestone-inin2004 removed: targetmilestone-inin--- |
Changed in ubuntu-z-systems: | |
status: | Fix Committed → Fix Released |
This was adressed in jammy by LP#1959735, hence updating the jammy entry to Fix Released.