summaryrefslogtreecommitdiffstats
path: root/arch/s390/kvm
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-05-05 06:15:09 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2023-05-05 06:15:09 -0400
commit7a8016d95651fecce5708ed93a24a03a9ad91c80 (patch)
tree4f06d729d1832bc0e4ce6b0914f7d00a1247a5c2 /arch/s390/kvm
parent29b38e765016e7b99f6ced75b359ee2b44f17269 (diff)
parentc148dc8e2fa403be501612ee409db866eeed35c0 (diff)
downloadlinux-7a8016d95651fecce5708ed93a24a03a9ad91c80.tar.gz
linux-7a8016d95651fecce5708ed93a24a03a9ad91c80.tar.bz2
linux-7a8016d95651fecce5708ed93a24a03a9ad91c80.zip
Merge tag 'kvm-s390-next-6.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
For 6.4
Diffstat (limited to 'arch/s390/kvm')
-rw-r--r--arch/s390/kvm/pv.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/s390/kvm/pv.c b/arch/s390/kvm/pv.c
index e032ebbf51b9..3ce5f4351156 100644
--- a/arch/s390/kvm/pv.c
+++ b/arch/s390/kvm/pv.c
@@ -314,6 +314,11 @@ int kvm_s390_pv_set_aside(struct kvm *kvm, u16 *rc, u16 *rrc)
*/
if (kvm->arch.pv.set_aside)
return -EINVAL;
+
+ /* Guest with segment type ASCE, refuse to destroy asynchronously */
+ if ((kvm->arch.gmap->asce & _ASCE_TYPE_MASK) == _ASCE_TYPE_SEGMENT)
+ return -EINVAL;
+
priv = kzalloc(sizeof(*priv), GFP_KERNEL);
if (!priv)
return -ENOMEM;