public inbox for linux-s390@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/1] KVM: s390: pv: fix asynchronous teardown for small VMs
@ 2023-04-21  8:50 Claudio Imbrenda
  2023-04-21  8:50 ` [PATCH v2 1/1] " Claudio Imbrenda
  0 siblings, 1 reply; 4+ messages in thread
From: Claudio Imbrenda @ 2023-04-21  8:50 UTC (permalink / raw)
  To: kvm; +Cc: borntraeger, nrb, nsg, frankja, mhartmay, kvm390-list, linux-s390


On machines without the Destroy Secure Configuration Fast UVC, the
topmost level of page tables is set aside and freed asynchronously
as last step of the asynchronous teardown.

Each gmap has a host_to_guest radix tree mapping host (userspace)
addresses (with 1M granularity) to gmap segment table entries (pmds).

If a guest is smaller than 2GB, the topmost level of page tables is the
segment table (i.e. there are only 2 levels). Replacing it means that
the pointers in the host_to_guest mapping would become stale and cause
all kinds of nasty issues.

This patch fixes the issue by disallowing asynchronous teardown for
guests with only 2 levels of page tables. Userspace should (and already
does) try using the normal destroy if the asynchronous one fails.

Update s390_replace_asce so it refuses to replace segment type ASCEs.

v1->v2:
After talking with Marc, I decided to throw away most of the patch and
instead simply refuse to prepare for asynchronous teardown if the VM has a
segment type ASCE.


Claudio Imbrenda (1):
  KVM: s390: pv: fix asynchronous teardown for small VMs

 arch/s390/kvm/pv.c  | 5 +++++
 arch/s390/mm/gmap.c | 7 +++++++
 2 files changed, 12 insertions(+)

-- 
2.40.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-04-21  9:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-21  8:50 [PATCH v2 0/1] KVM: s390: pv: fix asynchronous teardown for small VMs Claudio Imbrenda
2023-04-21  8:50 ` [PATCH v2 1/1] " Claudio Imbrenda
2023-04-21  8:57   ` Janosch Frank
2023-04-21  9:30   ` Marc Hartmayer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox