[23.10 FEAT] [VS2208] KVM: Provide Atomic Memop for Key-Checked Compare-and-swap

Bug #2026213 reported by bugproxy
16
This bug affects 2 people
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_MEMOP_F_CMPXCHG")
0dd714bfd200 ("KVM: s390: selftest: memop: Add cmpxchg tests")

bugproxy (bugproxy)
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)
Frank Heimes (fheimes)
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)
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: New → Confirmed
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Frank Heimes (fheimes) wrote :

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.

Changed in linux (Ubuntu):
status: Confirmed → Fix Released
Changed in ubuntu-z-systems:
status: Confirmed → Fix Released
information type: Private → Public
Changed in linux (Ubuntu):
assignee: Frank Heimes (fheimes) → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.