Messages in this thread | | | Subject | Re: [PATCH 4/5] KVM: nSVM: force L1's GIF to 1 when setting the nested state | From | Paolo Bonzini <> | Date | Mon, 3 May 2021 16:00:47 +0200 |
| |
On 03/05/21 14:54, Maxim Levitsky wrote: > While after a reset the GIF value is already 1, > it doesn't have to have this value if the nested state > is loaded later. > > Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com> > --- > arch/x86/kvm/svm/nested.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c > index 32400cba608d..12a12ae940fa 100644 > --- a/arch/x86/kvm/svm/nested.c > +++ b/arch/x86/kvm/svm/nested.c > @@ -1314,6 +1314,9 @@ static int svm_set_nested_state(struct kvm_vcpu *vcpu, > else > svm->nested.vmcb02.ptr->save = svm->vmcb01.ptr->save; > > + /* Force L1's GIF to true */ > + svm_set_gif(svm, true); > + > svm->nested.nested_run_pending = > !!(kvm_state->flags & KVM_STATE_NESTED_RUN_PENDING); > >
Hmm, not sure about this one. It is possible in principle to do CLGI in L2 with the intercept disabled.
You need to use
svm_set_gif(svm, !!(kvm_state->flags & KVM_STATE_NESTED_GIF_SET));
instead.
Paolo
| |