[PATCH V3 2/2] KVM: PPC: Implement H_SVM_INIT_ABORT hcall
Ram Pai
linuxram at us.ibm.com
Fri Jan 3 13:20:17 AEDT 2020
On Thu, Jan 02, 2020 at 04:32:33PM -0800, Sukadev Bhattiprolu wrote:
> Ram Pai [linuxram at us.ibm.com] wrote:
> > > +unsigned long kvmppc_h_svm_init_abort(struct kvm *kvm)
> > > +{
> > > + int i;
> > > +
> > > + if (!(kvm->arch.secure_guest & KVMPPC_SECURE_INIT_START))
> > > + return H_UNSUPPORTED;
> >
> > It should also return H_UNSUPPORTED when
> > (kvm->arch.secure_guest & KVMPPC_SECURE_INIT_DONE) is true.
>
> If KVMPPC_SECURE_INIT_DONE is set, KVMPPC_SECURE_INIT_START is also
> set - we never clear KVMPPC_SECURE_INIT_START right?
I am concerned about the case, where the VM has successfully
transitioned into a SVM, where both KVMPPC_SECURE_INIT_DONE and
KVMPPC_SECURE_INIT_START are set.
In this scenario, if the UV makes a H_SVM_INIT_ABORT hcall, the
Hypervisor will not return H_UNSUPPORTED, because
KVMPPC_SECURE_INIT_START is set.
That is the reason, I think, we need to add another check as below.
if (kvm->arch.secure_guest & KVMPPC_SECURE_INIT_DONE)
return H_UNSUPPORTED;
>
> Sukadev
--
Ram Pai
More information about the Linuxppc-dev
mailing list