[PATCH v3 0/8] KVM: s390: Even more misc fixes

From: Claudio Imbrenda

Date: Fri Aug 28 2026 - 08:04:12 EST


A few fixes that had been dropped from previous series due to still
having issues, plus a few new fixes.

v2->v3:
* Rebase on master
* Reworked first patch to use scoped_guard() more, and restrict the
scope of the srcu so that it excludes the page pinning
* Add missing const to parameter "old" of kvm_s390_update_cmma_dirty()
* Fix potential infinite loop in dat_get_storage_key() and
dat_reset_reference_bit()
* Fix potential race in _destroy_pages_crste()

v1->v2:
* Fix racy usage of sg->parent in patch 2
* Fix wrong number of arguments for dat_delete_slot() in patch 3
* Restrict srcu usage to the bare minimum necessary to avoid potentially
triggering page faults in the guest while holding the srcu
* Fix races also in other skey functions


Claudio Imbrenda (8):
KVM: s390: Fix dirty marking in adapter_indicators_set*()
KVM: s390: Fix compile warning for kvm_s390_update_cmma_dirty()
KVM: s390: Fix _gaccess_shadow_fault()
KVM: s390: Refactor dat_set_slot()
KVM: s390: Move all code into s390_kvm_mmu_prepare_memory_region()
KVM: s390: Add missing srcu in kvm_s390_set_irq_state()
KVM: s390: Fix potential races in dat skey functions
KVM: s390: Fix race in _destroy_pages_crste()

arch/s390/kvm/gmap/dat.c | 65 +++++++++++++-----------
arch/s390/kvm/gmap/dat.h | 10 ++--
arch/s390/kvm/gmap/gmap.c | 6 ++-
arch/s390/kvm/gmap/kvm_mmu.c | 91 ++++++++++++++--------------------
arch/s390/kvm/gmap/kvm_mmu.h | 4 --
arch/s390/kvm/s390/gaccess.c | 13 +++++
arch/s390/kvm/s390/interrupt.c | 79 ++++++++++++++---------------
arch/s390/kvm/s390/s390.c | 3 +-
arch/s390/kvm/s390/s390.h | 2 +-
9 files changed, 137 insertions(+), 136 deletions(-)

--
2.55.0