All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Pierre Morel <pmorel@linux.ibm.com>, david@redhat.com
Cc: linux-kernel@vger.kernel.org, cohuck@redhat.com,
	linux-s390@vger.kernel.org, kvm@vger.kernel.org,
	frankja@linux.ibm.com, akrowiak@linux.ibm.com,
	schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com
Subject: Re: [PATCH] KVM: s390: vsie: Do not shadow CRYCB when no AP and no keys
Date: Fri, 26 Apr 2019 11:08:04 +0200	[thread overview]
Message-ID: <9f97f69f-1f23-55b1-b14f-e050cbc48b7f@de.ibm.com> (raw)
In-Reply-To: <1556269010-22258-1-git-send-email-pmorel@linux.ibm.com>



On 26.04.19 10:56, Pierre Morel wrote:
> When the guest do not have AP instructions nor Key management
> we should return without shadowing the CRYCB.
> 
> We did not check correctly in the past.
> 
> Fixes: b10bd9a256ae ("s390: vsie: Use effective CRYCBD.31 to check CRYCBD
> validity")
> Fixes: 6ee74098201b ("KVM: s390: vsie: allow CRYCB FORMAT-0")
> 
> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
> Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>

> ---
>  arch/s390/kvm/vsie.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/s390/kvm/vsie.c b/arch/s390/kvm/vsie.c
> index c6983d9..ac411e9 100644
> --- a/arch/s390/kvm/vsie.c
> +++ b/arch/s390/kvm/vsie.c
> @@ -290,6 +290,7 @@ static int shadow_crycb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
>  	u8 ecb3_flags;
>  	u32 ecd_flags;
>  	int apie_h;
> +	int apie_s;
>  	int key_msk = test_kvm_facility(vcpu->kvm, 76);
>  	int fmt_o = crycbd_o & CRYCB_FORMAT_MASK;
>  	int fmt_h = vcpu->arch.sie_block->crycbd & CRYCB_FORMAT_MASK;
> @@ -298,7 +299,8 @@ static int shadow_crycb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
>  	scb_s->crycbd = 0;
>  
>  	apie_h = vcpu->arch.sie_block->eca & ECA_APIE;
> -	if (!apie_h && (!key_msk || fmt_o == CRYCB_FORMAT0))
> +	apie_s = apie_h & scb_o->eca;
> +	if (!apie_s && (!key_msk || (fmt_o == CRYCB_FORMAT0)))
>  		return 0;
>  
>  	if (!crycb_addr)
> @@ -309,7 +311,7 @@ static int shadow_crycb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
>  		    ((crycb_addr + 128) & PAGE_MASK))
>  			return set_validity_icpt(scb_s, 0x003CU);
>  
> -	if (apie_h && (scb_o->eca & ECA_APIE)) {
> +	if (apie_s) {
>  		ret = setup_apcb(vcpu, &vsie_page->crycb, crycb_addr,
>  				 vcpu->kvm->arch.crypto.crycb,
>  				 fmt_o, fmt_h);
> 

  parent reply	other threads:[~2019-04-26  9:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-26  8:56 [PATCH] KVM: s390: vsie: Do not shadow CRYCB when no AP and no keys Pierre Morel
2019-04-26  9:04 ` David Hildenbrand
2019-04-26 10:59   ` Pierre Morel
2019-04-26  9:08 ` Christian Borntraeger [this message]
2019-04-26 11:01   ` Pierre Morel
2019-04-29  7:10 ` Christian Borntraeger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9f97f69f-1f23-55b1-b14f-e050cbc48b7f@de.ibm.com \
    --to=borntraeger@de.ibm.com \
    --cc=akrowiak@linux.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=pmorel@linux.ibm.com \
    --cc=schwidefsky@de.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.