summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanis Schoetterl-Glausch <scgl@linux.ibm.com>2022-01-28 15:06:43 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-02-11 09:10:26 +0100
commit14f880ea779e11a6c162f122c1199e3578e6e3f3 (patch)
tree1088dbc97d48fbcba816f032b33c66594d397f09
parentc28ee73fea29d388f90aa876b107ae1268aa67de (diff)
downloadlinux-stable-14f880ea779e11a6c162f122c1199e3578e6e3f3.tar.gz
linux-stable-14f880ea779e11a6c162f122c1199e3578e6e3f3.tar.bz2
linux-stable-14f880ea779e11a6c162f122c1199e3578e6e3f3.zip
KVM: s390: Return error on SIDA memop on normal guest
commit 2c212e1baedcd782b2535a3f86bc491977677c0e upstream. Refuse SIDA memops on guests which are not protected. For normal guests, the secure instruction data address designation, which determines the location we access, is not under control of KVM. Fixes: 19e122776886 (KVM: S390: protvirt: Introduce instruction data area bounce buffer) Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com> Cc: stable@vger.kernel.org Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--arch/s390/kvm/kvm-s390.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index 24e42bd7d3b7..9a8c086528f5 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -4708,6 +4708,8 @@ static long kvm_s390_guest_sida_op(struct kvm_vcpu *vcpu,
return -EINVAL;
if (mop->size + mop->sida_offset > sida_size(vcpu->arch.sie_block))
return -E2BIG;
+ if (!kvm_s390_pv_cpu_is_protected(vcpu))
+ return -EINVAL;
switch (mop->op) {
case KVM_S390_MEMOP_SIDA_READ: