4.20-stable review patch. If anyone has any objections, please let me know.
------------------
From: Pierre Morel pmorel@linux.ibm.com
commit b10bd9a256aec504c14a7c9b6fccb6301ecf290a upstream.
When facility.76 MSAX3 is present for the guest we must issue a validity interception if the CRYCBD is not valid.
The bit CRYCBD.31 is an effective field and tested at each guest level and has for effect to mask the facility.76
It follows that if CRYCBD.31 is clear and AP is not in use we do not have to test the CRYCBD validatity even if facility.76 is present in the host.
Fixes: 6ee74098201b ("KVM: s390: vsie: allow CRYCB FORMAT-0") Cc: stable@vger.kernel.org
Signed-off-by: Pierre Morel pmorel@linux.ibm.com Reported-by: Claudio Imbrenda imbrenda@linux.ibm.com Acked-by: David Hildenbrand david@redhat.com Acked-by: Cornelia Huck cohuck@redhat.com Reviewed-by: Christian Borntraeger borntraeger@de.ibm.com Message-Id: 1549876849-32680-1-git-send-email-pmorel@linux.ibm.com Signed-off-by: Christian Borntraeger borntraeger@de.ibm.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
--- arch/s390/kvm/vsie.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/s390/kvm/vsie.c +++ b/arch/s390/kvm/vsie.c @@ -297,7 +297,7 @@ static int shadow_crycb(struct kvm_vcpu scb_s->crycbd = 0;
apie_h = vcpu->arch.sie_block->eca & ECA_APIE; - if (!apie_h && !key_msk) + if (!apie_h && (!key_msk || fmt_o == CRYCB_FORMAT0)) return 0;
if (!crycb_addr)