Re: [PULL 1/1] KVM: s390: Fix memory access error detection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 20 Jan 2014 12:54:03 +0100
Christian Borntraeger <borntraeger@xxxxxxxxxx> 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 <borntraeger@xxxxxxxxxx>

Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>

> ---
>  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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux