Re: [PATCH 1/2] KVM: s390: sthyi: fix sthyi inline assembly

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

 



On 21.08.2017 14:27, Christian Borntraeger wrote:
> From: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
> 
> The sthyi inline assembly misses register r3 within the clobber
> list. The sthyi instruction will always write a return code to
> register "R2+1", which in this case would be r3. Due to that we may
> have register corruption and see host crashes or data corruption
> depending on how gcc decided to allocate and use registers during
> compile time.
> 
> Fixes: 95ca2cb57985 ("KVM: s390: Add sthyi emulation")
> Cc: <stable@xxxxxxxxxxxxxxx> # 4.8+
> Reviewed-by: Janosch Frank <frankja@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
> ---
>  arch/s390/kvm/sthyi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/s390/kvm/sthyi.c b/arch/s390/kvm/sthyi.c
> index 926b524..2773a2f 100644
> --- a/arch/s390/kvm/sthyi.c
> +++ b/arch/s390/kvm/sthyi.c
> @@ -394,7 +394,7 @@ static int sthyi(u64 vaddr)
>  		"srl     %[cc],28\n"
>  		: [cc] "=d" (cc)
>  		: [code] "d" (code), [addr] "a" (addr)
> -		: "memory", "cc");
> +		: "3", "memory", "cc");
>  	return cc;
>  }
>  
> 

Reviewed-by: David Hildenbrand <david@xxxxxxxxxx>

-- 

Thanks,

David



[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