[PATCH v2 0/8] KVM: s390: More memory management fixes

From: Claudio Imbrenda

Date: Fri Mar 20 2026 - 12:22:13 EST


This series fixes some bugs that have been recently introduced with the
big gmap rewrite.

Most of the fixes are related to vSIE (nested guests), although some
are more general. The last patch fixes an issue introduced last year.

v1->v2
* propagate vsie notification bit when splitting a large page
* replace gmap_crstep_xchg() with gmap_crstep_xchg_atomic(); let the
callers properly deal with races
* do not attempt to protect guest page table when the nested guest is
running in a real address space
* fix return value of KVM_S390_VCPU_FAULT in case of error

Claudio Imbrenda (8):
KVM: s390: vsie: Fix dat_split_ste()
KVM: s390: Remove non-atomic dat_crstep_xchg()
KVM: s390: vsie: Fix check for pre-existing shadow mapping
KVM: s390: Fix gmap_link()
KVM: s390: vsie: Fix refcount overflow for shadow gmaps
KVM: s390: vsie: Fix unshadowing while shadowing
KVM: s390: vsie: Fix guest page tables protection
KVM: s390: Fix KVM_S390_VCPU_FAULT ioctl

arch/s390/kvm/dat.c | 102 +++++----------------------
arch/s390/kvm/dat.h | 11 +--
arch/s390/kvm/gaccess.c | 43 ++++++-----
arch/s390/kvm/gmap.c | 149 +++++++++++++++++++++++++++++----------
arch/s390/kvm/gmap.h | 24 ++++---
arch/s390/kvm/kvm-s390.c | 18 ++++-
arch/s390/kvm/vsie.c | 4 +-
7 files changed, 189 insertions(+), 162 deletions(-)

--
2.53.0