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