On Thu, 24 Oct 2019 07:40:45 -0400 Janosch Frank <frankja@xxxxxxxxxxxxx> wrote: Add at least a short sentence here? > Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> > --- > arch/s390/kvm/kvm-s390.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c > index eddc9508c1b1..17a78774c617 100644 > --- a/arch/s390/kvm/kvm-s390.c > +++ b/arch/s390/kvm/kvm-s390.c > @@ -3646,6 +3646,15 @@ static int kvm_s390_handle_requests(struct kvm_vcpu *vcpu) > rc = gmap_mprotect_notify(vcpu->arch.gmap, > kvm_s390_get_prefix(vcpu), > PAGE_SIZE * 2, PROT_WRITE); > + if (!rc && kvm_s390_pv_is_protected(vcpu->kvm)) { > + rc = uv_convert_to_secure(vcpu->arch.gmap, > + kvm_s390_get_prefix(vcpu)); > + WARN_ON_ONCE(rc && rc != -EEXIST); > + rc = uv_convert_to_secure(vcpu->arch.gmap, > + kvm_s390_get_prefix(vcpu) + PAGE_SIZE); > + WARN_ON_ONCE(rc && rc != -EEXIST); > + rc = 0; So, what happens if we have an error other than -EEXIST (which presumably means that we already protected it) here? The page is not protected, and further accesses will get an error? (Another question: what can actually go wrong here?) > + } > if (rc) { > kvm_make_request(KVM_REQ_MMU_RELOAD, vcpu); > return rc;