Re: [PATCH 16/22] KVM: MMU: Track page fault data in struct vcpu

Roedel, Joerg
2010-05-04T12:00:39Z

On Tue, May 04, 2010 at 05:50:50AM -0400, Avi Kivity wrote:
> On 05/04/2010 12:45 PM, Avi Kivity wrote:
> >
> >
> > Just a silly bug. kvm_pdptr_read() can cause a guest memory read on
> > svm, in this case with the mmu lock taken. I'll post something to fix
> > it.
>
> I guess this was not reported because most svm machines have npt, and
> this requires npt=0 to trigger. Nonpae paging disables npt, so you were
> hit. Interestingly, nsvm makes it more likely to appear, since npt on
> i386+pae will need the pdptrs.

Hmm, actually it happened on 32 bit with npt enabled. I think this
can trigger when mmu_alloc_roots is called for an pae guest because it
accidentially tries read the root_gfn from the guest before it figures
out that it runs with tdp and omits the gfn read from the guest.
I need to touch this for nested-npt and will look into a way improving
this.

Joerg