On 21.08.2018 16:33, Cornelia Huck wrote: > On Tue, 21 Aug 2018 16:19:38 +0200 > Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote: > >> Copy the key mask to the right offset inside the shadow CRYCB >> >> Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx> >> --- >> arch/s390/kvm/vsie.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/arch/s390/kvm/vsie.c b/arch/s390/kvm/vsie.c >> index 63844b9..a2b28cd 100644 >> --- a/arch/s390/kvm/vsie.c >> +++ b/arch/s390/kvm/vsie.c >> @@ -173,7 +173,8 @@ static int shadow_crycb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page) >> return set_validity_icpt(scb_s, 0x0039U); >> >> /* copy only the wrapping keys */ >> - if (read_guest_real(vcpu, crycb_addr + 72, &vsie_page->crycb, 56)) >> + if (read_guest_real(vcpu, crycb_addr + 72, >> + vsie_page->crycb.dea_wrapping_key_mask, 56)) > > Don't you need the address here? As it is defined as an array, the address would result in the same value. (&vsie_page->crycb.dea_wrapping_key_mask[0]) > >> return set_validity_icpt(scb_s, 0x0035U); >> >> scb_s->ecb3 |= ecb3_flags; > -- Thanks, David / dhildenb