On Mon, 10 Feb 2020 14:48:06 +0100 Christian Borntraeger <borntraeger@xxxxxxxxxx> wrote: > diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c > index b53cabc15d9d..52a5196fe975 100644 > --- a/arch/s390/kvm/kvm-s390.c > +++ b/arch/s390/kvm/kvm-s390.c > @@ -4089,6 +4089,12 @@ static int __vcpu_run(struct kvm_vcpu *vcpu) > memcpy(vcpu->run->s.regs.gprs, > sie_page->pv_grregs, > sizeof(sie_page->pv_grregs)); > + /* > + * We're not allowed to inject interrupts on intercepts > + * that leave the guest state in an "in-beetween" state s/beetween/between/ here as well :) > + * where the next SIE entry will do a continuation. > + * Fence interrupts in our "internal" PSW. > + */ > if (vcpu->arch.sie_block->icptcode == ICPT_PV_INSTR || > vcpu->arch.sie_block->icptcode == ICPT_PV_PREF) { > vcpu->arch.sie_block->gpsw.mask &= ~PSW_INT_MASK; With that on top, Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx>