Re: [PATCH v2 4/5] KVM: s390: vsie: Always test the crycbd for NULL
On 22/08/2018 19:07, David Hildenbrand wrote: On 22.08.2018 18:51, Pierre Morel wrote: BUG: the crycbd must be tested for null even if not crossing a page boundary (which will never occur in this case anyway). I don't see the BUG. Can you elaborate? (maybe it is too late for me) No it was too late for me :) The BUG was by me, my brain was fooled by the "else" there is not problem there. CRCBD is always tested. Sorry. Either we return or we check for !crycb_addr Signed-off-by: Pierre Morel --- arch/s390/kvm/vsie.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/s390/kvm/vsie.c b/arch/s390/kvm/vsie.c index 0b12916..7ee4329 100644 --- a/arch/s390/kvm/vsie.c +++ b/arch/s390/kvm/vsie.c @@ -172,7 +172,7 @@ static int shadow_crycb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page) if ((crycb_addr & PAGE_MASK) != ((crycb_addr + 128) & PAGE_MASK)) return set_validity_icpt(scb_s, 0x003CU); - else if (!crycb_addr) + if (!crycb_addr) return set_validity_icpt(scb_s, 0x0039U); /* copy only the wrapping keys */ -- Pierre Morel Linux/KVM/QEMU in Böblingen - Germany
Re: [PATCH v2 4/5] KVM: s390: vsie: Always test the crycbd for NULL
On 22/08/2018 19:07, David Hildenbrand wrote: On 22.08.2018 18:51, Pierre Morel wrote: BUG: the crycbd must be tested for null even if not crossing a page boundary (which will never occur in this case anyway). I don't see the BUG. Can you elaborate? (maybe it is too late for me) No it was too late for me :) The BUG was by me, my brain was fooled by the "else" there is not problem there. CRCBD is always tested. Sorry. Either we return or we check for !crycb_addr Signed-off-by: Pierre Morel --- arch/s390/kvm/vsie.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/s390/kvm/vsie.c b/arch/s390/kvm/vsie.c index 0b12916..7ee4329 100644 --- a/arch/s390/kvm/vsie.c +++ b/arch/s390/kvm/vsie.c @@ -172,7 +172,7 @@ static int shadow_crycb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page) if ((crycb_addr & PAGE_MASK) != ((crycb_addr + 128) & PAGE_MASK)) return set_validity_icpt(scb_s, 0x003CU); - else if (!crycb_addr) + if (!crycb_addr) return set_validity_icpt(scb_s, 0x0039U); /* copy only the wrapping keys */ -- Pierre Morel Linux/KVM/QEMU in Böblingen - Germany
Re: [PATCH v2 4/5] KVM: s390: vsie: Always test the crycbd for NULL
On 22.08.2018 18:51, Pierre Morel wrote: > BUG: the crycbd must be tested for null even if > not crossing a page boundary (which will never > occur in this case anyway). I don't see the BUG. Can you elaborate? (maybe it is too late for me) Either we return or we check for !crycb_addr > > Signed-off-by: Pierre Morel > --- > arch/s390/kvm/vsie.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/s390/kvm/vsie.c b/arch/s390/kvm/vsie.c > index 0b12916..7ee4329 100644 > --- a/arch/s390/kvm/vsie.c > +++ b/arch/s390/kvm/vsie.c > @@ -172,7 +172,7 @@ static int shadow_crycb(struct kvm_vcpu *vcpu, struct > vsie_page *vsie_page) > > if ((crycb_addr & PAGE_MASK) != ((crycb_addr + 128) & PAGE_MASK)) > return set_validity_icpt(scb_s, 0x003CU); > - else if (!crycb_addr) > + if (!crycb_addr) > return set_validity_icpt(scb_s, 0x0039U); > > /* copy only the wrapping keys */ > -- Thanks, David / dhildenb
Re: [PATCH v2 4/5] KVM: s390: vsie: Always test the crycbd for NULL
On 22.08.2018 18:51, Pierre Morel wrote: > BUG: the crycbd must be tested for null even if > not crossing a page boundary (which will never > occur in this case anyway). I don't see the BUG. Can you elaborate? (maybe it is too late for me) Either we return or we check for !crycb_addr > > Signed-off-by: Pierre Morel > --- > arch/s390/kvm/vsie.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/s390/kvm/vsie.c b/arch/s390/kvm/vsie.c > index 0b12916..7ee4329 100644 > --- a/arch/s390/kvm/vsie.c > +++ b/arch/s390/kvm/vsie.c > @@ -172,7 +172,7 @@ static int shadow_crycb(struct kvm_vcpu *vcpu, struct > vsie_page *vsie_page) > > if ((crycb_addr & PAGE_MASK) != ((crycb_addr + 128) & PAGE_MASK)) > return set_validity_icpt(scb_s, 0x003CU); > - else if (!crycb_addr) > + if (!crycb_addr) > return set_validity_icpt(scb_s, 0x0039U); > > /* copy only the wrapping keys */ > -- Thanks, David / dhildenb