On Mon, 20 Jan 2014 12:54:03 +0100
Christian Borntraeger <[email protected]> wrote:

> Seems that commit 210b1607012cc9034841a393e0591b2c86d9e26c
> (KVM: s390: Removed SIE_INTERCEPT_UCONTROL) lost a hunk when we
> reworked our patch queue to rework the async_fp code. We now
> ignore faults on the sie instruction (guest accesses non-existing
> memory) instead of sending a fault into the guest. This leads to
> hang situations with the old virtio transport that checks for
> descriptor memory after guest memory. Instead of bailing out this
> code now goes wild...
> Lets re-add the check.
> 
> Signed-off-by: Christian Borntraeger <[email protected]>

Acked-by: Cornelia Huck <[email protected]>

> ---
>  arch/s390/kvm/kvm-s390.c |    4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
> index 1bb1dda..7635c00 100644
> --- a/arch/s390/kvm/kvm-s390.c
> +++ b/arch/s390/kvm/kvm-s390.c
> @@ -738,6 +738,10 @@ static int vcpu_post_run(struct kvm_vcpu *vcpu, int 
> exit_reason)
>                                               current->thread.gmap_addr;
>               vcpu->run->s390_ucontrol.pgm_code = 0x10;
>               rc = -EREMOTE;
> +     } else {
> +             VCPU_EVENT(vcpu, 3, "%s", "fault in sie instruction");
> +             trace_kvm_s390_sie_fault(vcpu);
> +             rc = kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
>       }
> 
>       memcpy(&vcpu->run->s.regs.gprs[14], &vcpu->arch.sie_block->gg14, 16);

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to