Messages in this thread | | | Date | Wed, 6 Oct 2021 15:36:29 +0200 | Subject | Re: [PATCH MANUALSEL 5.14 4/9] KVM: x86: reset pdptrs_from_userspace when exiting smm | From | Paolo Bonzini <> |
| |
On 06/10/21 15:30, Sasha Levin wrote: > From: Maxim Levitsky <mlevitsk@redhat.com> > > [ Upstream commit 37687c403a641f251cb2ef2e7830b88aa0647ba9 ] > > When exiting SMM, pdpts are loaded again from the guest memory. > > This fixes a theoretical bug, when exit from SMM triggers entry to the > nested guest which re-uses some of the migration > code which uses this flag as a workaround for a legacy userspace. > > Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com> > Message-Id: <20210913140954.165665-4-mlevitsk@redhat.com> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > Signed-off-by: Sasha Levin <sashal@kernel.org> > --- > arch/x86/kvm/x86.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index b3f855d48f72..1e7d629bbf36 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -7659,6 +7659,13 @@ static void kvm_smm_changed(struct kvm_vcpu *vcpu, bool entering_smm) > > /* Process a latched INIT or SMI, if any. */ > kvm_make_request(KVM_REQ_EVENT, vcpu); > + > + /* > + * Even if KVM_SET_SREGS2 loaded PDPTRs out of band, > + * on SMM exit we still need to reload them from > + * guest memory > + */ > + vcpu->arch.pdptrs_from_userspace = false; > } > > kvm_mmu_reset_context(vcpu); >
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
| |