On 08/23/2018 12:25 PM, Pierre Morel wrote:
> Copy the key mask to the right offset inside the shadow CRYCB
> 
> Signed-off-by: Pierre Morel <pmo...@linux.ibm.com>
> Reviewed-by: David Hildenbrand <da...@redhat.com>
> Reviewed-by: Cornelia Huck <coh...@redhat.com>
> Reviewed-by: Janosch Frank <fran...@linux.ibm.com>
> ---
>  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 9175518..12b9707 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))

When we fix that code.., dont  we have to XOR the guest3 wrapping keys with
the guest2 ones? 


>               return set_validity_icpt(scb_s, 0x0035U);
>  
>       scb_s->ecb3 |= ecb3_flags;
> 

Reply via email to