From: Claudio Imbrenda <imbrenda@linux.ibm.com>
To: kvm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org,
borntraeger@de.ibm.com, frankja@linux.ibm.com, nrb@linux.ibm.com,
seiden@linux.ibm.com, gra@linux.ibm.com,
schlameuss@linux.ibm.com, hca@linux.ibm.com, david@kernel.org
Subject: [PATCH v5 00/10] KVM: s390: More memory management fixes
Date: Thu, 26 Mar 2026 14:17:09 +0100 [thread overview]
Message-ID: <20260326131719.98229-1-imbrenda@linux.ibm.com> (raw)
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.
v4->v5
* Use gmap_crstep_xchg_atomic() in gmap_handle_minor_crste_fault()
instead of dat_crstep_xchg_atomic()
* Check the special bit in the new pte and crste, instead of the old
one in _gmap_crstep_xchg_atomic() and in _gmap_ptep_xchg()
* Fix handling of pgste spinlock
* Handle more unshadowing events in _do_shadow_pte() and in
_do_shadow_crste()
v3->v4
* Reorder the patches a little
* Fix dat_set_pn_crste() to only update its parameter n in case of
success
* Fix _do_shadow_pte() and _do_shadow_crste() to return -EOPNOTSUPP
when a nested guest would try to write-map guest-read-only memory.
* Move all host page dirtying logic into _gmap_ptep_xchg() and
_gmap_crstep_xchg_atomic()
* Make sure gl is not used uninitialized in _gaccess_do_shadow()
* Introduce new s softbit for crstes, analogous to ptes, and use it to
determine whether to set a page a dirty
v2->v3
* fix a typo in the code (missin negation in patch 2)
* fix pre-existing alignment issue in _gmap_crstep_xchg_atomic()
* fix nested guest memory shadowing
* properly handle another possible place in _do_shadow_crste() where an
unshadowing event could be triggered
* fix _gaccess_do_shadow() to properly handle the case of real-address
asces for the nested guest
* fix some typos
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 (10):
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: Correctly handle guest mappings without struct page
KVM: s390: vsie: Fix nested guest memory shadowing
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 | 100 ++++--------------------
arch/s390/kvm/dat.h | 23 +++---
arch/s390/kvm/gaccess.c | 71 ++++++++++++-----
arch/s390/kvm/gmap.c | 160 ++++++++++++++++++++++++++++-----------
arch/s390/kvm/gmap.h | 33 +++++---
arch/s390/kvm/kvm-s390.c | 18 ++++-
arch/s390/kvm/vsie.c | 4 +-
7 files changed, 231 insertions(+), 178 deletions(-)
--
2.53.0
next reply other threads:[~2026-03-26 13:17 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-26 13:17 Claudio Imbrenda [this message]
2026-03-26 13:17 ` [PATCH v5 01/10] KVM: s390: vsie: Fix dat_split_ste() Claudio Imbrenda
2026-03-26 13:17 ` [PATCH v5 02/10] KVM: s390: Remove non-atomic dat_crstep_xchg() Claudio Imbrenda
2026-03-26 13:17 ` [PATCH v5 03/10] KVM: s390: vsie: Fix check for pre-existing shadow mapping Claudio Imbrenda
2026-03-26 13:17 ` [PATCH v5 04/10] KVM: s390: Fix gmap_link() Claudio Imbrenda
2026-03-26 13:17 ` [PATCH v5 05/10] KVM: s390: Correctly handle guest mappings without struct page Claudio Imbrenda
2026-03-26 13:17 ` [PATCH v5 06/10] KVM: s390: vsie: Fix nested guest memory shadowing Claudio Imbrenda
2026-03-26 13:17 ` [PATCH v5 07/10] KVM: s390: vsie: Fix refcount overflow for shadow gmaps Claudio Imbrenda
2026-03-26 13:17 ` [PATCH v5 08/10] KVM: s390: vsie: Fix unshadowing while shadowing Claudio Imbrenda
2026-03-26 13:17 ` [PATCH v5 09/10] KVM: s390: vsie: Fix guest page tables protection Claudio Imbrenda
2026-03-26 13:17 ` [PATCH v5 10/10] KVM: s390: Fix KVM_S390_VCPU_FAULT ioctl Claudio Imbrenda
2026-03-26 14:48 ` [PATCH v5 00/10] KVM: s390: More memory management fixes Christian Borntraeger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260326131719.98229-1-imbrenda@linux.ibm.com \
--to=imbrenda@linux.ibm.com \
--cc=borntraeger@de.ibm.com \
--cc=david@kernel.org \
--cc=frankja@linux.ibm.com \
--cc=gra@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=nrb@linux.ibm.com \
--cc=schlameuss@linux.ibm.com \
--cc=seiden@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox