[Ubuntu] qemu - backport diag308 stable exception fix
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
Medium
|
Christian Ehrhardt | ||
qemu (Ubuntu) |
Fix Released
|
Undecided
|
Skipper Bug Screeners | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Cosmic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* diag308 doesn't behave correctly (hw error instead of program
interrupt)
* Solution; Backport upstream accepted fix
[Test Case]
* Download the test image in comment #3
* Run the test kernel in qemu (on s390x) like:
qemu-
* Should report a proper abort/exception like
ABORT: diag308: Unexpected program interrupt: 6 at 0x134be, ilen 4
Without the fix it is a hard crash
[Regression Potential]
* In both cases the guest breaks, with the fix in place it breaks with a
better message and the guest kernel could actually handle the program
interrupt if it wanted.
Since the old case was a full crash of the qemu userspace and this si
the only code path modified I can't see potential regressions triggered
by this change.
[Other Info]
* I doubt we call a special test kernel a "real case" for the SRU, but
future guests (e.g. Ubuntu 20.04) might trigger subcodes not yet
known to older qmeu (e.g. in 18.04) so adding this is a good safety
net for any such upcoming changes.
---
The presence of subcodes is indicated by checking some query subcode.
For example 6 will indicate that 3-6 are available. So future systems
might call new subcodes to check for new features. This should not
trigger a hw error, instead we return the architectured specification
exception.
Commit has been accepted by maintainer:
https:/
Commit ID will be provided once it's upstream:
Related branches
- Andreas Hasenack (community): Approve
- Canonical Server: Pending requested
- git-ubuntu developers: Pending requested
-
Diff: 281 lines (+241/-0)6 files modifieddebian/changelog (+11/-0)
debian/patches/series (+4/-0)
debian/patches/ubuntu/lp-1806104-spapr_pci-Remove-unhelpful-pagesize-warning.patch (+52/-0)
debian/patches/ubuntu/lp-1809083-1-target-ppc-always-set-PPC_MEM_TLBIE-in-pre-2.8.patch (+57/-0)
debian/patches/ubuntu/lp-1809083-3-spapr-don-t-advertise-radix-GTSE-if-max-compat.patch (+71/-0)
debian/patches/ubuntu/lp-1812384-s390x-Return-specification-exception.patch (+46/-0)
- Andreas Hasenack (community): Approve
- Canonical Server: Pending requested
- git-ubuntu developers: Pending requested
-
Diff: 273 lines (+233/-0)6 files modifieddebian/changelog (+11/-0)
debian/patches/series (+4/-0)
debian/patches/ubuntu/lp-1806104-spapr_pci-Remove-unhelpful-pagesize-warning.patch (+49/-0)
debian/patches/ubuntu/lp-1809083-1-target-ppc-always-set-PPC_MEM_TLBIE-in-pre-2.8.patch (+54/-0)
debian/patches/ubuntu/lp-1809083-3-spapr-don-t-advertise-radix-GTSE-if-max-compat.patch (+72/-0)
debian/patches/ubuntu/lp-1812384-s390x-Return-specification-exception.patch (+43/-0)
tags: | added: architecture-s39064 bugnameltc-174838 severity-medium targetmilestone-inin1804 |
Changed in ubuntu: | |
assignee: | nobody → Skipper Bug Screeners (skipper-screen-team) |
affects: | ubuntu → qemu (Ubuntu) |
Changed in ubuntu-z-systems: | |
status: | New → Triaged |
importance: | Undecided → Medium |
assignee: | nobody → Christian Ehrhardt (paelzer) |
tags: | added: qemu-19.04 |
Changed in ubuntu-z-systems: | |
status: | Triaged → In Progress |
description: | updated |
description: | updated |
Changed in qemu (Ubuntu Bionic): | |
status: | New → Triaged |
Changed in qemu (Ubuntu Cosmic): | |
status: | New → Triaged |
Changed in qemu (Ubuntu Cosmic): | |
status: | Triaged → In Progress |
Changed in qemu (Ubuntu Bionic): | |
status: | Triaged → In Progress |
Changed in ubuntu-z-systems: | |
status: | In Progress → Fix Committed |
Changed in ubuntu-z-systems: | |
status: | Fix Committed → Fix Released |
FYI This already got upstream accepted as https:/ /git.qemu. org/?p= qemu.git; a=commit; h=37dbd1f4d4805 edcd18d94eb202b b3461b3cd52d