[23.10 FEAT] [VS2208] KVM: Provide Atomic Memop for Key-Checked Compare-and-swap
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
Medium
|
Skipper Bug Screeners | ||
linux (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
Currently, userspace has to perform two operations in order to do a storage-key-checked compare-and-swap:
1. Keycheck memop, followed by
2. compare-and-swap.
While not a problem with currently known hypervisor and O/S combinations it is theoretically possible, that the storage key of the operand is changed after 1 and before 2. From an architectural perspective it would be preferable to have a truly atomic memop for this purpose, which is implemented by this feature.
Unrelated commits but part of memup selftest for v6.3:
7d42b38de992 ("KVM: s390: selftest: memop: Pass mop_desc via pointer")
12d27074193b ("KVM: s390: selftest: memop: Replace macros by functions")
de14e014a7c6 ("KVM: s390: selftest: memop: Move testlist into main")
06e5da81c66c ("KVM: s390: selftest: memop: Add bad address test")
76a2ee43ed9a ("KVM: s390: selftest: memop: Fix typo")
12c12a9924b4 ("KVM: s390: selftest: memop: Fix wrong address being used in test")
dc55ceaef616 ("KVM: s390: selftest: memop: Fix integer literal")
a41f505e9f7f ("KVM: s390: Move common code of mem_op functions into function")
8550bcb754bc ("KVM: s390: Dispatch to implementing function at top level of vm mem_op")
0d6d4d23955c ("KVM: s390: Refactor absolute vm mem_op function")
701422b34382 ("KVM: s390: Refactor vcpu mem_op function")
Commits related to LI for v6.3:
3fd49805d19d ("KVM: s390: Extend MEM_OP ioctl by storage key checked cmpxchg")
a7b041732802 ("Documentation: KVM: s390: Describe KVM_S390_
0dd714bfd200 ("KVM: s390: selftest: memop: Add cmpxchg tests")
tags: | added: architecture-s39064 bugnameltc-202910 severity-high targetmilestone-inin2310 |
Changed in ubuntu: | |
assignee: | nobody → Skipper Bug Screeners (skipper-screen-team) |
affects: | ubuntu → linux (Ubuntu) |
summary: |
- [23.10] [VS2208] KVM: Provide Atomic Memop for Key-Checked Compare-and- - swap + [23.10 FEAT] [VS2208] KVM: Provide Atomic Memop for Key-Checked Compare- + and-swap |
Changed in ubuntu-z-systems: | |
assignee: | nobody → Skipper Bug Screeners (skipper-screen-team) |
Changed in linux (Ubuntu): | |
importance: | Undecided → High |
Changed in ubuntu-z-systems: | |
importance: | Undecided → High |
importance: | High → Medium |
Changed in linux (Ubuntu): | |
assignee: | Skipper Bug Screeners (skipper-screen-team) → Frank Heimes (fheimes) |
Changed in ubuntu-z-systems: | |
status: | New → Confirmed |
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
I've verified if the commits listed in the bug description are incl. in current mantic master-next and they are, incl. all of them.
And since we already have a linux-generic kernel 6.3 in mantic:
linux-generic | 6.3.0.7.8 | mantic | amd64, arm64, armhf, ppc64el, s390x
linux-generic | 6.3.0.7.9 | mantic-proposed | amd64, arm64, armhf, ppc64el, s390x
I'm updating this ticket to Fix Released.