From: Janis Schoetterl-Glausch Date: Fri, 28 Jan 2022 14:06:43 +0000 (+0100) Subject: KVM: s390: Return error on SIDA memop on normal guest X-Git-Tag: archive/raspbian/5.10.92-2+rpi1^2~17 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f780483ea6c02ef6c9fe9b4920ecca8cd28b6e60;p=linux.git KVM: s390: Return error on SIDA memop on normal guest Origin: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit?id=b62267b8b06e9b8bb429ae8f962ee431e6535d60 Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2022-0516 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 Cc: stable@vger.kernel.org Signed-off-by: Christian Borntraeger Signed-off-by: Greg Kroah-Hartman Gbp-Pq: Topic bugfix/s390x Gbp-Pq: Name KVM-s390-Return-error-on-SIDA-memop-on-normal-guest.patch --- diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index 00f03f363c9..516c0f1829a 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c @@ -4649,6 +4649,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: