On Thu, 2020-07-09 at 20:41 +0200, Paolo Bonzini wrote:
> On 09/07/20 20:40, Jim Mattson wrote:
> > On Thu, Jul 9, 2020 at 11:31 AM Paolo Bonzini <[email protected]> wrote:
> > > On 09/07/20 20:28, Jim Mattson wrote:
> > > > > That said, the VMCB here is guest memory and it can change under our
> > > > > feet between nested_vmcb_checks and nested_prepare_vmcb_save. Copying
> > > > > the whole save area is overkill, but we probably should copy at least
> > > > > EFER/CR0/CR3/CR4 in a struct at the beginning of nested_svm_vmrun;
> > > > > this
> > > > > way there'd be no TOC/TOU issues between nested_vmcb_checks and
> > > > > nested_svm_vmrun. This would also make it easier to reuse the checks
> > > > > in
> > > > > svm_set_nested_state. Maybe Maxim can look at it while I'm on
> > > > > vacation,
> > > > > as he's eager to do more nSVM stuff. :D
> > > >
> > > > I fear that nested SVM is rife with TOCTTOU issues.
> > >
> > > I am pretty sure about that, actually. :)
> > >
> > > Another possibility to stomp them in a more efficient manner could be to
> > > rely on the dirty flags, and use them to set up an in-memory copy of the
> > > VMCB.
> >
> > That sounds like a great idea! Is Maxim going to look into that?
> >
>
> Now he is!
Yep :-)
Best regards,
Maxim Levitsky
>
> Paolo
>